How to create a minidump for my process when it works?

I cannot create minidump from my process by changing the system setting. Therefore my question

  • Will the system create minidump for the user process upon failure

    If yes, which setting do I need to configure?

  • Or do I need to create a minidump program file programmatically.

  • How effective are mini pumps in accident investigation

I am using Windows XP, C ++, VC6

+26
c ++ debugging windows minidump
Oct 10 '09 at 6:31
source share
5 answers

You need to programmatically create a mini-drive (with one exception, see the following link). CodeProject has a nice article on MiniDumps . Basically, you want to use dbghelp.dll and use the MiniDumpWriteDump() function (see MSDN on MiniDumpWriteDump ).

How effective such dumps are depends on the application. Sometimes optimized binaries are almost useless. Also, without experience, heap / stack corruption errors will lead you astray.

However, if the optimizer was not too complicated for you, there is a large class of errors in which dumps help, namely all errors that have values โ€‹โ€‹of the trace stack + locally used variables, that is, many operations with a pure virtual function (i.e. incorrect destruction order), access violations (uninitialized access or lack of NULL checks), etc.

By the way, if your service policy allows this in some way, port the application from VC6 to something acceptable, for example VC8 or 9. You will do yourself a great service.

+25
Oct 10 '09 at 6:57
source share

Thanks to everyone for watching and thanks to gimpf, I googled on the Internet and msdn.

I found a great article on debugInfo.com . It is worth reading:

effective mini jumps

+14
Oct 10 '09 at 8:01
source share

We use the Google Breakpad in Firefox, although this requires at least Visual C ++ 2003. A good advantage is that it also supports OS X and Linux.

+3
Mar 24 '10 at 17:53
source share

I ended up using CrashRpt on Windows (I needed to move the entire code base and toolchain from MinGW to my own Microsoft C / C ++ compiler) and google-breakpad on Linux.

+2
Dec 21 '12 at 12:50
source share

If you have a few dollars to save AQtrace , it's worth a look. This has many advantages of a crash that occurs inside the debugger when running on a remote end-user machine.

+1
Oct 10 '09 at 7:52
source share



All Articles