Debuggen in einer DLL
-
Hallo miteinander,
ich benutze folgenden Compiler: Microsoft Visual Studio 2005.
In meiner Soluten habe ich 2 Projekte (eine Konsolenanwendung und eine DLL, die die Konsolenanwendung nutzen soll). Leider kommt es aber innerhalb des DLL immer zum Programmabsturz, so dass ich die DLL jetzt gerne debuggen möchte. Könnte mir jemand sagen, wie man das macht?
Vielen Dank schon mal.
STICK
-
Das aller einfachste ist es sich an das Programm, das diese DLL nutzt mit dem Debugger zu attachen.
Wenn die EXE sowieso zu Deiner gesamten Solution gehört, dann kannst Du diese IMHO sofort debuggen. Was ist damit Dein Problem?
Ansonsten ist auch nett, wenn der Crash auftritt sich sofort mit dem Debuggerr an den Prozess anzuhängen und den Crash anzusehen im laufenden (abestürtzen) Programm.
-
Hi MARTIN,
danke für deine Antwort. Mein Problem ist, dass ich einen Breakpoint im Quellcode der DLL setze, aber im Debug-Modus nie erreiche. Folgende Fehlermeldung bringt mir der Compiler:
Windows has triggered a breakpoint in Test.exe. This may be due to a corruption of the heap, and indicates a bug in Test.exe or any of the DLLs it has loaded. The output window may have more diagnostic information.
bzw. wenn ich dann auf F11 drücke, um in die DLL-Funktion hineinzuspringen, die den Fehler produziert:
There is no source code available for the current location.
Hast du vielleicht eine Idee, woran das liegen könnte?
DANKE DIR!
STICK.
-
Dein Heap ist schon längst kaputt.
Schau Dir den Callstack an. Ansonsten:
http://blog.m-ri.de/index.php/2008/10/27/vs-tipps-tricks-heap-bugs-finden-teil-1/
http://blog.m-ri.de/index.php/2008/10/31/vs-tipps-tricks-heap-bugs-finden-teil-2/
http://blog.m-ri.de/index.php/2008/11/04/vs-tipps-tricks-heap-bugs-finden-teil-3/