0

I have a .dll file produced with Visual Studio 2005 (unmanaged C++). In various functions within the DLL, I can detect errors and call another function within the DLL to produce a minidump (using dbghelp.dll) .

This works perfectly when the application using the DLL is also a VS2005-produced program. However, when I use National Instrument Measurement Studio/CVI to produce the application (in plain C, not that it should matter), it does not get a .pdb file (surprise!). As a result, when I open the generated .dmp file with VS2005, it tells me the application was not built with debugging (but it was!) and the stack shown is useless.

Many (40+) other functions in this DLL are successfully used by the CVI application. This would seem to demonstrate the successful access of the DLL functions from the non-VS application.

National Instruments apparently can use a full dump from DrWatson, so it must be possible.

Does anybody know how to get what is needed for using the .dmp file?

To summarize: No .NET, function access is fine, generated minidump files do not seem usable by Visual Studio.

Thanks for your help.

Harold Bamford
  • 1,589
  • 1
  • 14
  • 26

1 Answers1

0

You must have symbols (at least dllexports) to be able to analyze the dump file. Try use Debugging Tools for Windows (WinDBG) to open the minidump file and see what you've got. WinDBG does a much better job analyzing dumps than VisualStudio 2005.

Peon the Great
  • 1,289
  • 1
  • 10
  • 17
  • Thanks, but that doesn't work either. It turns out that I really *need* a .pdb file. For now the work-around is to convert my LabWindows/CVI project to a VS2005 (or VS2008) project. In the latest (CVI2010) this turns out to be moderately easy and will probably be my final solution. Using an external compiler within CVI doesn't work either as they use a bizarre on-the-fly script edit to implement this and it leaves off the correct options. – Harold Bamford Jan 11 '11 at 18:36