Thanks...preston wrote:First I want to say that MadExcept rocks. Definately worth the licensing fees.
The crashing thread is always listed first in the bug report.preston wrote:I've got a statck trace that contains multiple threads. How do I know which thread threw the exception?
madExcept version : 2.7g
exception class : EAccessViolation
exception message : Access violation at address 462B462B. Read of address 462B462B.
7c91920e ntdll.dll LdrShutdownThread
004055c1 hallmark.exe System EndThread
0045208f hallmark.exe Classes ThreadProc
0040556c hallmark.exe System ThreadWrapper
0042f7a7 hallmark.exe madExcept ThreadExceptFrame
The thread during shutdown of the thread jumped to code location "462b462b". At this code location there was no code, though. The location was not even allocated. Thus the exception.
The big question is: Why did the thread try to jump to that code location? That's very hard to say. I'd guess that the thread's stack was overwritten with wild data somewhere. Might be one of the typical "buffer overflow" stories. Does that thread have big local variables? Check out whether you're writing over the bounds somewhere.