Tracefile ist immer eine gute Idee. Wenn es um Abstürze geht, verwende ich adplus, das Teil der Debugging-Tools für Windows ist. Was Adplus eigentlich macht, ist, dass es windbg an die ausführbare Datei anfügt, die Sie überwachen. Wenn die Anwendung abstürzt, erhalten Sie einen Absturzabbild und eine Protokolldatei. Sie können den Crash-Dump in Ihren bevorzugten Debugger laden und herausfinden, welche Anweisung zu dem Absturz führte.
Da Release-Builds im Vergleich zu Debug-Builds stark optimiert sind, wirkt sich die Art und Weise, wie Sie den Code kompilieren, auf sein Verhalten aus. Dies ist im Wesentlichen der Fall, wenn Abstürze in Multithread-Code in der Release-Version auftreten, nicht aber in der Debug-Version. adplus und windbg haben mir geholfen, herauszufinden, wo das passiert ist.
ADPlus erklärt hier: httx: //support.microsoft.com/ scid = kb% 3Ben-us% 3B286350 & x = 15 & y = 12
Im Grunde, was Sie tun müssen, ist: 1. downloaden und installieren Sie WinDbg in C: \ debuggers httx: //www.microsoft.com/whdc/devtools/debugging/default.mspx
Ihre Anwendung starten
öffnen Sie eine cmd und cd c: \ debuggers
Start adplus wie folgt aus:
"adplus.bat -crash your_exe.exe"
reproduzieren den Absturz
die crashdump in VS2005 analysieren oder in windbg