Dlls debuggen
-
Hallo ich hab einen Fehler in einer DLL, die ich selbst geschrieben habe...wenn ich diese nun in meinem Programm benutze und der Fehler auftritt, sagt mir der Compiler nur, das es einen Speicherfehlgriff gab (Access Violation...) in der DLL, nur wo genau nicht...Gibts da irg welche Tricks ?
Vielen Dank an alle die sich damit beschäftigen!!
Bye Markus

-
Wie debuggst Du denn?
Öffne doch einfach Dein DLL-Projekt und gebe die EXE als Programm zum Ausführen an... dann solltest Du auch Breakpoints usw. angeben können...Und in der Debug-Version sollte sowieso eine Frage kommen "Reatrey, Abort, Ignore"... dann musst Du auf "Retry" drücken und würdest im debugger landen...
-
... oder DebugBreak in den Code einbauen und nachträglich den Debugger beim "Crash" attachen.
Oder über Debug->Processes einfach den entsprechenden Prozess mit der DLL auswählen und Debuggen wie gewohnt. Das geht netterweise auch Remote!
-
Hmm jo, verstehe...nur wenn der Fehler jetzt auftritt (Access Violation) dann weiß ich nicht WO...
Er sagt dann nur: "DLLDATEINAME.dll 012514()"
Wie finde ich denn heraus, in welcher Zeile bzw. in welcher Funktion/Methode es crashed ?
Danke schonmal
-
Kann mir da nochmal jmd helfen, bitte

-
Hi,
wenn du, wie von Jochen vorgeschlagen, die DLL in deinem Projekt oeffnest, das Progamm startest und dann einen Breakpoint setzt kannst du Schritt fuer Schritt durch die DLL wandern. Damit solltest du genau die Stelle finden koennen, wo es zu einem Speicherzugriffsfehler kommt.
Alternativ ist es in den meisten Faellen auch moeglich die in verdacht geratene Funktion einfach so in ein Programm zu schreiben und daraus auszurufen (dort geht man dann analog vor)
Gruss,
DeSoVoDaMu
-
> Er sagt dann nur: "DLLDATEINAME.dll 012514()"
Sieht so aus, als würden die Debug-Infos nicht gefunden. DeSoVoDaMu's tip sollte helfen.