JochenKalmbach / StackWalker

Walking the callstack in windows applications
BSD 2-Clause "Simplified" License
831 stars 182 forks source link

This project can only be used in Debug mode, and must carry pdb files? #39

Closed sgf closed 4 years ago

sgf commented 4 years ago

when release mode,cant display the full call stack

does This project can only be used in Debug mode, and must carry pdb files?

JochenKalmbach commented 4 years ago

This is by design. Please see documentation. A "good" callstack is only possible if you have debug symbols, which means today: pdb file. In previous version of VS it was possibe ti embedd the debug symbols into the EXE. But for what reason do you want to walk the callstack?

Normally this project should never be used, excepton for debugging purpuse...

If you want to find out crash problems, you should use CrashDumps for analysis. Then you can debug your crash offline without shipping the debug symbvols with your app.

sgf commented 4 years ago

But for what reason do you want to walk the callstack?

I originally wanted to port the exception of the .net bcl to C++, because the call stack can be recorded when the exception starts. Thank you for your answers.

JochenKalmbach commented 4 years ago

As said: Please use MiniDumpWriteDump to write an exception record, which you can later debug on your machine. As en example: https://www.c-plusplus.net/forum/topic/261827/setunhandledexceptionfilter-und-minidumpwritedump/3