8 Stimmen

Windbg Hilfe -> wie kann ich den Code in diesem Callstack lesen?

Ich habe einen Auszug eines Windows-Dienstes, den ich erstellt habe. Die Ausnahme ist, dass mein Code eine Datei nicht verschieben kann (aus irgendeinem Grund). Nun, in meinem Code gibt es eine Reihe von Stellen, an denen ich Dateien im Dateisystem verschiebe. Also, mit Windbg, ich versuche, den Code zu sehen, wo die Ausnahme auftritt.

hier ist mein !clrstack dump..

0:016> !clrstack -p
OS Thread Id: 0xdf8 (16)
Child-SP         RetAddr          Call Site
0000000019edea70 0000064278a15e4f System.IO.__Error.WinIOError(Int32, System.String)
PARAMETERS:
    errorCode = <no data>
    maybeFullPath = <no data>

0000000019edead0 0000064280181ce5 System.IO.File.Move(System.String, System.String)
PARAMETERS:
    sourceFileName = <no data>
    destFileName = <no data>

0000000019edeb50 0000064280196532 MyClass.Foo.DoSomeStuffInHere(System.String)
PARAMETERS:
    this = 0x0000000000c30aa8
    filePathAndName = 0x0000000000d1aad0

das hilft sehr...

0:016> !do 0x0000000000d1aad0
Name: System.String
MethodTable: 00000642784365e8
EEClass: 000006427803e4f0
Size: 88(0x58) bytes
(C:\WINDOWS\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)
String: C:\BlahBlahFolder\FooFolder\4469.jpg
Fields:
-snipped-

Also habe ich herausgefunden, die Datei, die nicht verschoben werden konnte. kewl. Aber ich möchte nur den Code in dieser Methode MyClass.Foo.DoSomeStuffInHere(System.String) sehen, die File.Move(..) aufruft. Diese Methode hat viele File.Move .. so könnte ich Try / Catches / Debug / Trace-Informationen setzen .. aber ich hoffe, effizienter zu sein, indem Sie Windbg verwenden, um dieses Problem zu finden.

Haben Sie eine Idee?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X