2016-07-26 9 views
3

Ich versuche, eine laufende ASP.NET App mit WinDbg zu debuggen. Was ich brauche, ist der Wert eines Arguments, das an eine Methode übergeben wird. So bin ich auf einem Haltepunkt in diesem Verfahren und von !clrstack -p ich dieses:Windgb mit SOS zeigt keine Struktur Feldwerte

PARAMETERS: 
    this (0x00000004af4fdc10) = 0x000001a2b8a06e68 
    ideaForum (0x00000004af4fdc18) = 0x000001a2b8b11bc8 
    page (0x00000004af4fdc20) = 0x0000000300000001 

Ich bin interessiert an der „Seite“ Argument, das vom Typ int? (System.Nullable<System.Int32>) so erste finde ich die MT-Adresse für System.Nullable`1[[System.Int32, mscorlib]], die zufällig 00007ffa263c7ae0 ist. Dann !dumpvc 00007ffa263c7ae0 0000000300000001 Ich nenne und hier ist das, was ich bekommen:

Name:  System.Nullable`1[[System.Int32, mscorlib]] 
MethodTable: 00007ffa263c7ae0 
EEClass:  00007ffa25dc6580 
Size:  24(0x18) bytes 
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll 

Fields: 
       MT Field Offset     Type VT  Attr   Value Name 
00007ffa263da2e0 4000707  0  System.Boolean 1 instance hasValue 
00007ffa263baf60 4000708  4   System.Int32 1 instance value 

Wie Sie sehen können, ich tue, was in Windbg with SOS, How to dump a c# struct als Antwort markiert wurde, aber es keine Werte für die Felder anzeigen lassen, welche ist das, was ich brauche. Was muss ich noch tun, um zu den Werten zu gelangen? Danke.

EDIT: Es scheint, dass ich die falsche Adresse für das Argument schließlich verwendet habe. Die in Parens nach dem Argumentnamen ist die richtige, also hätte ich 0x00000004af4fdc20 verwenden sollen. Damit funktioniert! Dumpvc wie erwartet. Sosex ist einfacher zu benutzen, weil es nur den Argumentnamen benötigt, um den Job zu erledigen

Antwort

4

Verwenden Sie !sosex.mk -a. Verwenden Sie !mdt für Dumping-Typen, wenn Sie nach Feldwerten suchen. Bei der Darstellung von Feldwerten zeigt sich eher, dass Sex eher freundlich ist, während sos die technischen Details des Layouts besser darstellt. Offenlegung: Ich bin der Autor von Sex, aber es ist völlig kostenlos.

+0

Danke Steve, '' '! Sosex.mdt Seite''' hat den Trick gemacht. Ich liebe die Sex-Hilfeseiten übrigens! – actionresult

+0

Ich bin froh, dass es dir nützlich ist. –