AKB
AKB

Reputation: 31

What is the right way to get MiniDumpWriteDump stack traces across MFC boundaries?

We're in a situation where we are using MiniDumpWriteDump to generate a dumpfile. However we have noticed that if the code takes the path our code->MFC->our code the callstack ends at MFC and we lose the source of the problem.

This is a 64bit app.

Update due to original comments: An example from the other day was the following. We received a dump file from a customer. Loaded it into VS2017. The stacktrace stopped at MFC being (Our understanding) due to the mismatch between dumpfile and our development machine and no binaries on MS's symbol store. We eventually located a matching version of the MFC Dll on another machine on our network and the callstack was then fully completed and we could see it go back from our code -> MFC -> back to our code and locate the problem.

Is there a way to get the full callstack anyway, even if we don't get symbols/binaries for the MFC DLL's?

Upvotes: 0

Views: 287

Answers (1)

xMRi
xMRi

Reputation: 15365

You have the MFC symbol files always in the folders of the current Visual Studio. So you should copy them or store them in your own symbol store.

In my VS 2017 (Version 15.6.3) I have the files in the folder

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\lib\x64
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\lib\x86

Using the correct PDB files will also help you to get the correct stack trace accross MFC boundaries.

Upvotes: 0

Related Questions