-
Stay up-to-date with everything C++! Content directly fetched from the subreddit just for you. Join our group for discussions : @programminginc Powered by : @r_channels
[OC] Tired of "blind" C++ debugging in VS Code for Computer Vision? I built CV DebugMate C++ to view cv::Mat and 3D Point Clouds directly.
Hey everyone,
As a developer working on **SLAM and Computer Vision projects in C++**, I was constantly frustrated by the lack of proper debugging tools in VS Code after moving away from Visual Studio's Image Watch. Staring at memory addresses for cv::Mat and std::vector<cv::Point3f> felt like debugging blind!
So, I decided to build what I needed and open-source it: [CV DebugMate C++](https://marketplace.visualstudio.com/items?itemName=zwdai.cv-debugmate-cpp).
It's a **VS Code extension** that brings back essential visual debugging capabilities for C++ projects, with a special focus on 3D/CV applications.
**🌟 Key Features**
**1.** 🖼️ **Powerful cv::Mat Visualization**
* Diverse Types: Supports various depths (uint8, float, double) and channels (Grayscale, BGR, RGBA).
* Pixel-Level Inspection: Hover your mouse to see real-time pixel values, with zoom and grid support.
* Pro Export: Exports to common formats like PNG, and crucially, TIFF for preserving floating-point data integrity (a must for deep CV analysis
**2.** 📊 **Exclusive: Real-Time 3D Point Cloud Viewing**
* Direct Rendering: Directly renders your **std::vector<cv::Point3f>** or **cv::Point3d** variables as an interactive 3D point cloud.
* Interactive 3D: Built on Three.js, allowing you to drag, rotate, and zoom the point cloud right within your debugger session. Say goodbye to blindly debugging complex 3D algorithm
**3. 🔍 CV DebugMate Panel**
[](https://github.com/dull-bird/cv_debug_mate_cpp/tree/main#-cv-debugmate-panel)
* Automatic Variable Collection: Automatically detects all visualizable OpenCV variables in the current stack frame.
* Dedicated Sidebar View: A new view in the Debug sidebar for quick access to all Mat and Point Cloud variables.
* Type Identification: Distinct icons for images (Mat) and 3D data (Point Cloud).
* One-Click Viewing: Quick-action buttons to open visualization tabs without using context menus
**4. Wide Debugger Support**
Confirmed compatibility with common setups: Windows (MSVC/MinGW), Linux (GDB), and macOS (LLDB). (Check the documentation for the full list).
**🛠 How to Use**
It's designed to be plug-and-play. During a debug session, simply Right-Click on your cv::Mat or std::vector<cv::Point3f> variable in the Locals/Watch panel and select "View by CV DebugMate".**🔗 Get It & Support**
The plugin is completely free and open-source. It's still early in development, so feedback and bug reports are highly welcome!
**VS Code Marketplace**: Search for CV DebugMate or zwdai
**GitHub Repository**: [https://github.com/dull-bird/cv\_debug\_mate\_cpp](https://github.com/dull-bird/cv_debug_mate_cpp)
If you find it useful, please consider giving it a Star on GitHub or a rating on the Marketplace—it's the fuel for continued bug fixes and feature development! 🙏
https://redd.it/1ps4a8n
@r_cpp
Jubi - Lightweight 2D Physics Engine
Jubi is a passion project I've been creating for around the past month, which is meant to be a lightweight physics engine, targeted for 2D. As of this post, it's on v0.2.1, with world creation, per-body integration, built-in error detection, force-based physics, and other basic needs for a physics engine.
Jubi has been intended for C/C++ projects, with C99 & C++98 as the standards. I've been working on it by myself, since around late-November, early-December. It has started from a basic single-header library to just create worlds/bodies and do raw-collision checks manually, to as of the current version, being able to handle hundreds of bodies with little to no slow down, even without narrow/broadphase implemented yet. Due to Jubi currently using o(n²) to check objects, compilation time can stack fast if used for larger scaled projects, limiting the max bodies at the minute to 1028.
It's main goal is to be extremely easy, and lightweight to use. With tests done, translated as close as I could to 1:1 replicas in Box2D & Chipmunk2D, Jubi has performed the fastest, with the least amount of LOC and boilerplate required for the same tests. We hope, by Jubi-1.0.0, to be near the level of usage/fame as Box2D and/or Chipmunk2D.
Jubi Samples:
#define JUBIIMPLEMENTATION
#include "../Jubi.h"
#include <stdio.h>
int main() {
JubiWorld2D WORLD = JubiCreateWorld2D();
// JBody2DCreateBox(JubiWorld2D *WORLD, Vector2 Position, Vector2 Size, BodyType2D Type, float Mass)
Body2D *Box = JBody2DCreateBox(&WORLD, (Vector2){0, 0}, (Vector2){1, 1}, BODYDYNAMIC, 1.0f);
// ~1 second at 60 FPS
for (int i=0; i < 60; i++) {
JubiStepWorld2D(&WORLD, 0.033f);
printf("Frame: %02d | Position: (%.3f, %.3f) | Velocity: (%.3f, %.3f) | Index: %d\n", i, Box -> Position.x, Box -> Position.y, Box -> Velocity.x, Box -> Velocity.y, Box -> Index);
}
return 0;
}
Jubi runtime compared to other physic engines:
|Physics Engine|Runtime|
|:-|:-|
|Jubi|0.0036ms|
|Box2D|0.0237ms|
|Chipmunk2D|0.0146ms|
Jubi Github: https://github.com/Avery-Personal/Jubi
https://redd.it/1prwf8o
@r_cpp
Boost.MultiIndex refactored
https://bannalia.blogspot.com/2025/12/boostmultiindex-refactored.html
https://redd.it/1proaik
@r_cpp
Implicit contract assertions: systematizing eliminating all undefined behavior for C++
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3100r5.pdf
https://redd.it/1prhmt8
@r_cpp
5hrs spent debugging just to find out i forgot to initialize to 0 in class.
Yup, it finally happened.
I am making a voxel terrain generation project to learn OpenGL. It was my abstraction of vertex arrays. Initially, when I created this class, it generated an ID in the constructor, but then when I introduced multithreading, I needed to stop doing that in the constructor (bad design, I know—need to study design patterns). So I introduced a boolean to initialize it when the first call to Bind() is made. But I didn't set it to false at that time. I saw chunks rendering, but there were gaps between them. So I started debugging, and honestly, the VertexArray class wasn't even on my mind. I just printed the VAO values in the output along with some other data. Although the values were somewhat random, I ignored it because OpenGL only guarantees unique unused values, not how they're generated. But then in the middle, I saw some were small and continuous like 1, 2, ..., 10. Then I put a print statement in the Generate() function of VertexArray and realized it wasn't even being called.
Yup, that's my rant. And here's the ugly code I wrote:
cpp
class VertexArray {
public:
explicit VertexArray(bool lazy = false);
~VertexArray();
// Returns the vertex array ID
GLuint id() const { return arrayid; }
void Generate();
// Binds this vertex array
void Bind();
void UnBind();
// Adds and enables the attribute
void AddAttribute(Attribute attribute);
private:
GLuint arrayid{};
};
https://redd.it/1prafjr
@r_cpp
Exercise in Removing All Traces Of C and C++ at Microsoft
https://www.linkedin.com/posts/galenh_principal-software-engineer-coreai-microsoft-activity-7407863239289729024-WTzf/
https://redd.it/1pr3s7u
@r_cpp
Ways to generate crash dumps for crash handling?
Hi there!
I was interested in generating crash minidumps cross platform for debugging-- I've found them to be a useful tool for debugging. I know you can use SEH on Windows, but that's exclusive to windows, and cannot be mixed with C++ exception handling. Is there a way to write an exception handler that can grab what the state of memory looked like, as well as the call stack in order to generate a crash report/crash dump? I know there's also like google breakpad/crashpad but it seemed like I'd need to add in chromium to my project, and there's also Sentry, but I wanted to see what other options I have.
https://redd.it/1pqy1hm
@r_cpp
Software and Safety - Anthony Williams - Keynote Meeting C++ 2025
https://www.youtube.com/watch?v=wKGkOmpUTH8
https://redd.it/1pqrm5r
@r_cpp
Sorting Comparator function how they works internally ?
static bool cmp(int a, int b){
return tostring(a) + tostring(b) >
tostring(b) + tostring(a);
}
https://redd.it/1pqdtxp
@r_cpp
std::ranges may not deliver the performance that you expect
https://lemire.me/blog/2025/10/05/stdranges-may-not-deliver-the-performance-that-you-expect/
https://redd.it/1pptoq2
@r_cpp
MSVC Debugging: Solve Static Initialization Order Fiasco in C++
https://www.kdab.com/msvc-debugging-the-static-initialization-order/
https://redd.it/1ppnxf1
@r_cpp
Hey all I want a suggestion
So i'm in a private college pursuing B.tech in CS. I am currently in 1st semester but i want to do competitive programming , can anyone experienced help me with a roadmap that will actually work and i won't be wasting my time. I'm currently doing pattern printing so i'm beginner in C++
https://redd.it/1pph4sc
@r_cpp
Can I Beat Clang’s Auto-Vectorizer on Apple Silicon? A SAXPY Case Study
samarth.colleges/can-i-beat-clangs-auto-vectorizer-on-apple-silicon-a-saxpy-case-study-3c3926b5bfe3" rel="nofollow">https://medium.com/@samarth.colleges/can-i-beat-clangs-auto-vectorizer-on-apple-silicon-a-saxpy-case-study-3c3926b5bfe3
https://redd.it/1pp5dpd
@r_cpp
Using std::generator in practice - Nicolai Josuttis - Meeting C++ 2025
https://www.youtube.com/watch?v=Qpj9fVOoVAk
https://redd.it/1poh9n6
@r_cpp
Use GWP-ASan to detect exploits in production environments
https://blog.trailofbits.com/2025/12/16/use-gwp-asan-to-detect-exploits-in-production-environments/
https://redd.it/1pod1jh
@r_cpp
Best conference talks of 2025
As we all know that we are heading towards the end of this year so it would be great for you guys to share your favourite conference speech related to c++ happened in this year and also kindly mention the reason behind picking it as your #1 conference talk.
https://redd.it/1przzbc
@r_cpp
Decent tooling for concept autocompletion?
* The title pretty much explains itself. Before concepts I could at least give VS an instance from the codebase, and IntelliSense worked fine, but with concepts now, sometimes it feels like I am coding on Notepad. Tried CLion, and it is not any better. I understand the technical complexities that come with code completion with concepts, but I want to hear your view on this anyway.
https://redd.it/1prnkb2
@r_cpp
Blog: Stripping the Noise: 6 Heuristics for Readable C++ STL Errors
https://ozacod.github.io/posts/how-to-filter-cpp-errors/
I've ported stlfilt to Go and added some modern C++ features. You can check out the project at https://github.com/ozacod/stlfilt-go
https://redd.it/1prmpvb
@r_cpp
CUDA C++ GPU Accelerated Data Structures on Google Colab usin CuCollections
https://leetarxiv.substack.com/p/gpu-accelerated-data-structures-on
https://redd.it/1prdiaz
@r_cpp
POC of custom conditional warnings exploiting C++26's expansion statements and deprecated attribute for compile-time debugging
I came up with this hacky trick for custom compiler warnings (not errors) that are conditional on a compile-time known bool. I know it is not the prettiest error message but it at least has all the relevant information to be useful for compile-time (print) debugging. Thought it would be cool to share here and please let me know if there is a better way to achieve this or if it can be achieved in C++23 or prior. Check it out here: https://godbolt.org/z/br6vGdvex
https://redd.it/1pr7dpm
@r_cpp
Parallel C++ for Scientific Applications: Threads & Synchronization
https://www.youtube.com/watch?v=Db2DPWaZy7M
https://redd.it/1pr0exa
@r_cpp
Performance Hints
https://abseil.io/fast/hints.html
https://redd.it/1pqwwe6
@r_cpp
Latest News From Upcoming C++ Conferences (2025-12-19)
OPEN CALL FOR SPEAKERS
CppCon Academy 2026 – CppCon Academy is asking for instructors to submit proposals for pre- and post-conference classes and/or workshops to be taught in conjunction with next year’s CppCon 2026.
Workshops can be online or onsite and interested instructors have until January 30th to submit their workshops. Find out more including how to submit your proposal at https://cppcon.org/cfp-for-2026-classes/
ACCU on Sea 2026 – Interested speakers have until January 11th to submit their talks which is scheduled to take place on 17th – 20th June. Find out more including how to submit your proposal at [https://accuconference.org/callforspeakers](https://accuconference.org/callforspeakers)
OTHER OPEN CALLS
(NEW) C++Online
(NEW) Call For Online Volunteers – Attend C++Online 2026 FOR FREE by becoming an online volunteer! Find out more including how to apply at [https://cpponline.uk/call-for-volunteers/](https://cpponline.uk/call-for-volunteers/)
(NEW) Call For Online Posters – Get a FREE ticket to C++Online 2026 by presenting an online poster in their virtual venue which can be on any C++ or C++ adjacent topic. Find out more and apply at https://cpponline.uk/posters
(NEW) Call For Open Content – Get a FREE ticket to C++Online 2026 by…
Presenting a talk, demo or workshop as open content at the start or end of each day of the event. Find out more and apply at https://cpponline.uk/call-for-open-content/
Running a meetup or host a social event like a pub quiz or a tetris tournament. Find out more and apply at [https://cpponline.uk/call-for-meetups/](https://cpponline.uk/call-for-meetups/)
If you run a meetup, then discounted entry will be given for other members of your meetup.
TICKETS AVAILABLE TO PURCHASE
The following conferences currently have tickets available to purchase
ACCU on Sea (15th – 20th June) – You can buy super early bird tickets at [https://accuconference.org/booking](https://accuconference.org/booking) with discounts available for ACCU members.
OTHER NEWS
(NEW) C++Online 2026 Announced (11th – 13th March) – The C++Online 2026 Conference has been announced and will run as an online only conference and will also include post-conference workshops (separate registration required). Find out more at https://cpponline.uk/announcing-cpponline-2026-11th-13th-march/
(NEW) C++Now 2026 Announced (4th – 8th May) – The C++Now 2026 Conference has been announced and will run as an in-person only conference in Aspen, Colorado. Find out more at [https://cppnow.org/announcements/2025/12/announcing-cppnow-2026/](https://cppnow.org/announcements/2025/12/announcing-cppnow-2026/)
C++Online 2026 Call For Reviews Open – The C++Online team are looking for people to review talks that were submitted to be considered for the C++ Online 2026 programme. Please visit https://speak.cpponline.uk/ and login or make an account to review the talks with reviews accepted until December 22nd.
https://redd.it/1pqpv7p
@r_cpp
Ranges: When Abstraction Becomes Obstruction
https://www.vinniefalco.com/p/ranges-when-abstraction-becomes-obstruction
https://redd.it/1ppyhn8
@r_cpp
Strong Structured Concurrency: How to Avoid Lifetime Footguns in std::execution
https://blog.vito.nyc/posts/structured-concurrency-1/
https://redd.it/1ppsjwq
@r_cpp
The Lambda Coroutine Fiasco
https://github.com/scylladb/seastar/blob/master/doc/lambda-coroutine-fiasco.md
https://redd.it/1ppiv3u
@r_cpp
Performance Engineer or RL Engineer
Dear all, I have an experience in performance optimization. I have worked in this field for a few years. I also have experience in C++ for many years.
Now I got an offer in RL field in a big company. It is confident.
Experience in performance opens a lot of doors. I can work in many big-techs.
But ML is growing now. And LLM probably can remove doors for C++ engineers.
Should I change my direction? I'm 30 years old now.
UPD: RL is Reinforcement Learning
https://redd.it/1pp7sxm
@r_cpp
C++ Podcasts & Conference Talks (week 51, 2025)
Hi r/cpp! Welcome to another post in this series brought to you by Tech Talks Weekly. Below, you'll find all the C++ conference talks and podcasts published in the last 7 days:
# 📺 Conference talks
# CppCon 2025
1. **"Crafting the Code You Don’t Write: Sculpting Software in an AI World - Daisy Hollman - CppCon 2025"** ⸱ +5k views ⸱ 12 Dec 2025 ⸱ 01h 38m 50s
2. **"Can C++ Data Oriented Design Be ONE MILLION Times Faster? - Andrew Drakeford"** ⸱ +5k views ⸱ 10 Dec 2025 ⸱ 00h 53m 30s
3. **"The Declarative Programming SECRETS to More Readable C++ - Richard Powell"** ⸱ +4k views ⸱ 11 Dec 2025 ⸱ 00h 58m 34s
4. **"What's New for C++ in VS Code: CMake Improvements and GitHub Copilot Agents - Alexandra Kemper"** ⸱ +1k views ⸱ 15 Dec 2025 ⸱ 01h 01m 02s
5. **"Can Modern C++ SPEED UP Your Bundle Adjustment Pipeline? - Vishnu Sudheer Menon"** ⸱ +600 views ⸱ 16 Dec 2025 ⸱ 00h 58m 11s
# Meeting C++ 2025
1. **"Start teaching C++ (to beginners!) - Hannah Lenk - Meeting C++ 2025 lighning talks"** ⸱ +1k views ⸱ 11 Dec 2025 ⸱ 00h 11m 06s
2. **"C++23: using std::generator in practice - Nicolai Josuttis - Meeting C++ 2025"** ⸱ +800 views ⸱ 15 Dec 2025 ⸱ 01h 01m 30s
# PyData Paris 2025
1. **"Johan Mabille & Anutosh Bhat - xeus-cpp, the new C++ kernel for Jupyter."** ⸱ <100 views ⸱ 16 Dec 2025 ⸱ 00h 30m 02s
This post is an excerpt from the latest issue of ***Tech Talks Weekly*** which is a free weekly email with all the recently published Software Engineering podcasts and conference talks. Currently subscribed by +7,500 Software Engineers who stopped scrolling through messy YT subscriptions/RSS feeds and reduced FOMO. Consider subscribing if this sounds useful: *https://www.techtalksweekly.io/*
Let me know what you think. Thank you!
https://redd.it/1pp3moi
@r_cpp
Do C++ developers exist?
Howdy folks! 🤠
I’ve been running an open-source project that turns images into colour-by-number templates. The JS side of things is doing great and I’ve got contributors for that, and they’re awesome.
Getting someone to touch the C++ core is like trying to find a unicorn. Seriously, it’s like C++ is the Black Plague to these people.🧟♂️ Everyone wants to work on the fun JS stuff, the frontend & React Hook WebAssembly bridge… but when it comes to the heavy-lifting C++, suddenly it’s “too hard” or “nah, I’ll pass.”
I get it, C++ can be a beast, but this is literally the heart of the project. Without it, none of the clustering or image processing magic even works. It’s like asking someone to play Jenga with bricks instead of sticks: still fun, but way more painful!
So here I am, ranting to the void. You're my last hope. Help me find the only other C++ developers on this earth.😁
If you know of someone who secretly enjoys fighting with C++ memory management and optimization, you are my hero. The JS folks are doing great, but we need some brave souls to dive into the C++ trenches with me so we can help the JS guys continue enjoying life.
Does anyone else feel this pain in OSS projects? Or am I just cursed to be the only one hunting for C++ contributors forever?
https://redd.it/1pofyma
@r_cpp
Possible GCC reflection error
Playing with GCC I got a situation like this:
#include <algorithm>
#include <array>
#include <print>
#include <meta>
consteval auto Name(const int integer){
return std::meta::displaystringof(^^integer);
}
consteval auto Name(const std::meta::info meta){
return std::meta::displaystringof(meta);
}
// <source>:21:28: error: call to consteval function 'Name(^^int)' is not a constant expression
// 17 | std::println("{}", Name(^^int));
// | ~~~~^~~~~~~
// But removing const fix it!! (works in Clang P2996)
int main(){
std::println("{}", Name(3));
std::println("{}", Name(^^int));
return 0;
}
I think that this is not the expected behaviour, but is it a known bug to be patched?
https://redd.it/1po9oz2
@r_cpp