Re: Finding out where a crash occurred
"Stanza" <email@example.com> wrote in message
I'm developing on Vista, and my program may dynamically load DLLs from
other suppliers, so to a degree it will be at the mercy of bugs in other
If a user reports a crash, I need to be able to find out whether the
problem is in MY code or in one of those DLLs.
Unfortunately, you can't.
If I create a DEBUG build then the stack trace in the IDE will tell me
where a crash occured - that's IF I can reproduce the user's reported
The stack trace of the crash is only tangentially related to the location of
the bug. Stack corruption, writes to wild pointers, overwrite of heap block
headers, returning pointers to your code after using the wrong allocator,
etc all cause action at a distance.
The safest thing you could do, and it's potentially a lot of extra work,
would be to have an out-of-process host for these components. For
performance sake, you could start out the third-party libraries in-process,
and upon crash set a flag for out-of-process behavior on the next startup.
__________ Information from ESET NOD32 Antivirus, version of virus signature database 4298 (20090802) __________
The message was checked by ESET NOD32 Antivirus.