2016-08-04 17 views
3

Wenn ich windbg benutze, um einen verwalteten Prozess zu debuggen, wie kann ich den Wert eines Int64 sehen? Zum Beispiel habe ich den folgenden Konstruktor, der als seinen ersten Parameter ein Int64 hat.Wie man einen Int64 einer Anwendung mit Windbg prüft

ItemQuote quote = new ItemQuote(1234567890987654L, "5mm Super Widgets", 1000, 12999, true, false); 

Mit dem windbg Debugger habe ich einen Breakpoint am oben genannten Konstruktor gesetzt, um seine Argumente zu überprüfen. Die Demontage ergibt folgendes.

Child SP  IP Call Site 
0042f05c 0043025a EncodingInformation.ItemQuote..ctor(Int64, System.String, Int32, Int32, Boolean, Boolean) 
    PARAMETERS: 
     this (0x0042f060) = 0x01fe3908 
     itemNumber (0x0042f07c) = 0x3c97ea86 
     itemDescription (0x0042f05c) = 0x01fe2378 
     quantity (0x0042f078) = 0x000003e8 
     unitPrice (0x0042f074) = 0x000032c7 
     discounted (0x0042f070) = 0x00000001 
     inStock (0x0042f06c) = 0x00000000 

die .formats mit Befehl auf dem itemNumber Parameter nicht nachgibt, was ich erwarten würde, zu sehen.

0:000> .formats 0x3c97ea86 
Evaluate expression: 
    Hex:  3c97ea86 
    Decimal: 1016588934 
    Octal: 07445765206 
    Binary: 00111100 10010111 11101010 10000110 
    Chars: <... 
    Time: Tue Mar 19 21:48:54 2002 
    Float: low 0.0185444 high 0 
    Double: 5.02262e-315 

Was soll ich tun, um den tatsächlich übergebenen Wert von = 1234567890987654L zu sehen?

+0

Sind Sie sicher, dass dies der Anruf ist, den Sie verfolgen, nicht einen anderen Anruf mit anderen Parametern? –

+2

zum Anzeigen eines Int64 verwenden Sie dq

oder? qwo
blabb

+0

@ dcrearer, was ist mit dem Befehl kb verwenden, um native Callstack auszudrucken. Sie können dort Ihre Argumente finden. Ist es auch Release oder Debug Modus? –

Antwort

4

Wie ich verstehe, debuggen Sie x86-App und aus diesem Grund sehen Sie unteren Teil von Long in! Clrstack-ein Befehl. Als @blabb erwähnt, können Sie dq verwenden, um den Wert der Adresse: enter image description here

+1

Sie können 'dq ... L1' verwenden, wenn Sie wissen, es gibt nur einen Wert zu inspiziert werden –

+0

@Thomas Weller, danke! –

Verwandte Themen