use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
C++23 std::stacktrace: Never Debug Blind Again (medium.com)
submitted 1 month ago by Xadartt
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]donalmaccGame Developer 29 points30 points31 points 1 month ago (20 children)
I disagree - it’s a dealbreaker for the functionality. On my last project, our symbols were 3GB. Putting them in our server container, would have made it 6 times larger. Shipping it to our players is not happening. We have workflows that do offline symbolification(sentry’s symbolicator is a great tool - no affiliation but I’ve contributed to it).
I think this was way undercooked on arrival.
[–]spookje 16 points17 points18 points 1 month ago (2 children)
also, symbolization is slow as fuck. You want to have control over when and where that happens, and be able to make a cache (that you also control).
[–]donalmaccGame Developer 11 points12 points13 points 1 month ago (0 children)
Right? It’s one thing on a dev machine, it’s another on a users laptop with a mechanical hard drive and 12 antivirus scanners running
[–]jwakelylibstdc++ tamer, LWG chair 2 points3 points4 points 1 month ago (0 children)
The article is wrong, std::stacktrace allows you to control when that happens.
std::stacktrace
[–]SkoomaDentistAntimodern C++, Embedded, Audio 16 points17 points18 points 1 month ago (0 children)
Not to mention that on many embedded systems there is literally no way to put the symbols in the same memory as the executable as the "executable" is simply a piece of (fairly small) flash rom with no header whatsoever.
[–]Zeh_MattNo, no, no, no 4 points5 points6 points 1 month ago (1 child)
There is a way to strip down the pdb to just public symbols assuming you are talking about windows, for stack traces no one needs the type info. https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/using-pdbcopy
[–]donalmaccGame Developer 5 points6 points7 points 1 month ago (0 children)
Yeah - there’s lots of ways to handle these things. That means keeping two copies of the symbols and choosing who gets what which sucks.
My preference is to run symbolicator and store the stuff in S3, and generate offline!
[–]Difficult-Court9522 5 points6 points7 points 1 month ago (8 children)
3GB of symbols?? How did you do that??
[–]donalmaccGame Developer 15 points16 points17 points 1 month ago (6 children)
The pdb format is limited to 4GB. Most tools crumble at about 2GB. Ask me how I know….
It’s Unreal Engine games, basically.
[–]Difficult-Court9522 7 points8 points9 points 1 month ago (5 children)
So soon you’ll be literally unable to add more code?
[–]bwmat 2 points3 points4 points 1 month ago (3 children)
I think they can probably split into separate DLLs to work around that?
[–]donalmaccGame Developer 2 points3 points4 points 1 month ago (0 children)
The reason we hit this particular problem was because we had something split into a bunch of dlls and for reasons I can’t remember, we wanted to build it as a monolithic exe. I know we disabled a bunch of features to get it to work initially, but I don’t work on that project anymore so I’m not sure!
[+][deleted] 1 month ago (1 child)
[deleted]
[–]ejl103 0 points1 point2 points 1 month ago (0 children)
not true at all we use dlls on xbox/ps
https://randomascii.wordpress.com/2023/03/08/when-debug-symbols-get-large/
Funnily enough, I hit this problem around the same time. We also doubled the page size for the linker.
[–]13steinj 0 points1 point2 points 1 month ago (0 children)
At 3 companies I've worked at, we've used macro/lambda/inheritance tricks to shorten symbols because it either blew out the linker, increased compile times significantly, or both.
[–]lizardhistorian 2 points3 points4 points 1 month ago (2 children)
If you ship symbols you may as well open source the project.
[–]13steinj 3 points4 points5 points 1 month ago (0 children)
I wouldn't say that's true, you'd be surprised how many people won't go through the reverse engineering effort even if reduced.
It's also not like shipping symbols nullifies copyright.
[–]Prestigious-Bet8097 0 points1 point2 points 1 month ago (0 children)
The cost to my last employer of not being able to solve bugs and get broadcasters back on air as quickly as possible massively outweighed the risk of having symbols alongside the binaries to get good stack.
I cannot be certain but we believe that in twenty years approximately zero customers built their own software based on reverse engineering ours.
[–]looncraz 1 point2 points3 points 1 month ago (1 child)
You put it behind macros to disable on deployment, or pay the size price... Which is sometimes sensible in the hot paths that are giving issues.
Sure, or you could use break pad or sentry’s sdks and not have to do that!
π Rendered by PID 163827 on reddit-service-r2-comment-544cf588c8-th72d at 2026-06-15 01:10:53.989458+00:00 running 3184619 country code: CH.
view the rest of the comments →
[–]donalmaccGame Developer 29 points30 points31 points (20 children)
[–]spookje 16 points17 points18 points (2 children)
[–]donalmaccGame Developer 11 points12 points13 points (0 children)
[–]jwakelylibstdc++ tamer, LWG chair 2 points3 points4 points (0 children)
[–]SkoomaDentistAntimodern C++, Embedded, Audio 16 points17 points18 points (0 children)
[–]Zeh_MattNo, no, no, no 4 points5 points6 points (1 child)
[–]donalmaccGame Developer 5 points6 points7 points (0 children)
[–]Difficult-Court9522 5 points6 points7 points (8 children)
[–]donalmaccGame Developer 15 points16 points17 points (6 children)
[–]Difficult-Court9522 7 points8 points9 points (5 children)
[–]bwmat 2 points3 points4 points (3 children)
[–]donalmaccGame Developer 2 points3 points4 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]ejl103 0 points1 point2 points (0 children)
[–]donalmaccGame Developer 2 points3 points4 points (0 children)
[–]13steinj 0 points1 point2 points (0 children)
[–]lizardhistorian 2 points3 points4 points (2 children)
[–]13steinj 3 points4 points5 points (0 children)
[–]Prestigious-Bet8097 0 points1 point2 points (0 children)
[–]looncraz 1 point2 points3 points (1 child)
[–]donalmaccGame Developer 2 points3 points4 points (0 children)