Programm stürzt aus unerklärlichen Gründen ab - Debugger springt nicht rein - Hilfe
-
Hallo!
Ich benötige unbedingt Debugginghilfe bei einem unserer C# Projekte.
Dieses ist ein halbwegs umfangreicher Service und holt aus einem SVN Repository die letzte Revisionnummer über die Konsole (stdout).
Danach tut der Service rein gar nichts mehr (das habe ich mit Logfiles 100%ig festgestellt).
Dennoch stürzt der Service exakt 130 Sekunden nach dem Start ab. (Kommentiere ich das Revisionsholen aus, crasht er nicht).
Während diesen 130 Sekunden macht der Service NICHTS. (Habe alles bis auf den kleinsten Fetzen auskommentiert...)
Ich kann mir diesen Fehler absolutest nicht erklären.
Blöderweise kann ich nicht in das Projekt debuggen. Starte ich es im Debugmodus komm ich an keinen Breakpoint. Attache ich mich nach dem Start, kommt der VS Just in Time debugger und fragt mich wie ich debuggen möchte.
Gehe ich hier auf "New VS 2005 Instance" sehe ich lediglich die Module die geladen wurden. ALlerdings nicht den wichtigen Callstack oder gar Variablen.
Leider bin ich neu in C#.. von C++ endlich umgestiegen.
Ich vermisse hier tolle Debugmöglichkeiten wie mit Dr. Watson... ich komme einfach nicht weiter..
Der JIT Dialog erzählt mir "an unhandled win32 exception occured".
Mache icch um den gesamten Service ein try{} catch.. kommt dieser Fehler trotzdem...
C# Profis - ich brauch euch
Gruß,
Kevin
-
Debuggen indem man sich an den Service attached funktioniert eigentlich sehr gut, daher kann ich zu Deinem Problem wenig sagen. Vielleicht hilft auch ein wenig Code?
-
Code bringt nichts - Projekt ist zu groß und stürzt nur auf einem Testrechner ab.
Aus irgendwelchen Gründen springt der Debugger NICHT an, wenn die Exception geworfen wird. IRgendeine DLL scheint zu crashen, die vom Projekt geladen wird.
Nur welche..
Gibts für C# keine Profidebugmethoden wie für C++ ala Dr. Watson Memdump?
Gruß,
Kevin
-
Der Jitdebugger liefert doch i.d.R. noch einen Stacktrace der die Suche eingrenzen könnte.
-
meinst du damit den callstack?
der ist leider leer. Oder meinst du etwas anderes das ich nicht kenne?
-
WinDbg und mdbg gibts auch noch:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
http://blogs.msdn.com/jmstall/archive/2004/09/30/236281.aspx
-
WinDbg habe ich bereits probiert.. komme damit auf keinen grünen Zweig.
Attache ich mich mit mdbg zu meinem Service und crasht dieser, so poppt wieder die JIT Debuggerauswahl von Visual Studio auf.
Kann ich mdbg als Standarddebugger festlegen?
-
In jeder Exception gibts auch einen Parameter "Stacktrace" in dem der, naja, Stacktrace zu dem Zeitpunkt der Exception steht. Also in die Exception reinschauen und stacktrace lesen ist immer ein guter Anfang.
-
ich hab nen neuen thread aufgemacht.. evtl. könnt ihr was mit dem dump anfangen..