Ergebnis 1 bis 2 von 2
Danke Übersicht9Danke
  • 7 Post By Ari45
  • 2 Post By skorpion68
Thema: WinDbg Preview hat mindestens einen Bug Für alle fleißigen Helfer, die ab und zu, oder häufig, Dumpfiles debuggen: Die App WinDbg Preview hat mindestens eine Bug, ...
  1. #1
    Ari45
    gehört zum Inventar Avatar von Ari45

    WinDbg Preview hat mindestens einen Bug

    Für alle fleißigen Helfer, die ab und zu, oder häufig, Dumpfiles debuggen:
    Die App WinDbg Preview hat mindestens eine Bug, wahrscheinlich sogar zwei.
    Nach einem Austausch per PN mit @tkmopped kommen wir zu der Erkenntnis, dass es tatsächlich ein Bug.

    1.Fehler bei Sysinfo
    In den Dumpfiles werden oft Hardwareinformationen mit gespeichert, die man mit dem Debugger-Befehl sysinfo abrufen kann.
    Code:
    !sysinfo
    !sysinfo [ cpuinfo | cpumicrocode | cpuspeed | gbl | machineid | registers | smbios ] [-csv | -noheaders]
    So kann man mit dem Parameter machineid Informationen zum Motherboard und BIOS abrufen,
    oder mit cpuspeed die CPU-Geschweindigkeit zum Zeitpunkt des Absturzes
    oder mit smbios Informationen zum BIOS erfahren (RAM, CPU usw)
    Seit mindestens 2 Monaten funktioniert zwar der Aufruf !sysinfo machineid, aber gibt man !sysinfo smbios geschieht erst mal garnichts. Es wird eine Leerzeile eingefügt, aber das Bereitschaftszeichen erscheint nicht.
    verborgener Text:
    !sysinfo cpuspeed
    sysinfo: unknown error 80004005
    3: kd> !sysinfo machineid
    Machine ID Information [From Smbios 2.4, DMIVersion 36, Size=2953]
    BiosVendor = Award Software International, Inc.
    BiosVersion = F6
    BiosReleaseDate = 05/30/2012
    SystemManufacturer = Gigabyte Technology Co., Ltd.
    SystemProductName = GA-970A-UD3
    SystemFamily =
    SystemVersion =
    SystemSKU =
    BaseBoardManufacturer = Gigabyte Technology Co., Ltd.
    BaseBoardProduct = GA-970A-UD3
    BaseBoardVersion = x.x
    3: kd> !sysinfo smbios

    hier fehlt dann das Bereitschaftszeichen kd>


    Lädt man die gleiche Dumpfile in den Debugger (Desktop), der im Windows SDK enthalten ist, zeigt sich, dass die Infos zu SMBios auch gespeichert sind.
    Hier nur ein kurzer Ausschnit aus den Sysinfo SMBios
    verborgener Text:
    kd> !sysinfo smbios
    [SMBIOS Data Tables v2.4]
    [DMI Version - 36]
    [2.0 Calling Convention - No]
    [Table Size - 2953 bytes]

    [BIOS Information (Type 0) - Length 24 - Handle 0000h]
    Vendor Award Software International, Inc.
    BIOS Version F6
    BIOS Starting Address Segment e000
    BIOS Release Date 05/30/2012
    BIOS ROM Size 400000
    BIOS Characteristics
    04: - ISA Supported
    07: - PCI Supported
    09: - Plug and Play Supported
    11: - Upgradeable FLASH BIOS
    12: - BIOS Shadowing Supported
    15: - CD-Boot Supported
    16: - Selectable Boot Supported
    17: - BIOS ROM Socketed
    19: - EDD Supported
    22: - 360KB Floppy Supported
    23: - 1.2MB Floppy Supported
    24: - 720KB Floppy Supported
    25: - 2.88MB Floppy Supported
    26: - Print Screen Device Supported
    27: - Keyboard Services Supported
    28: - Serial Services Supported
    29: - Printer Services Supported
    30: - CGA/Mono Services Supported
    BIOS Characteristic Extensions
    00: - ACPI Supported
    01: - USB Legacy Supported
    04: - LS120-Boot Supported
    05: - ATAPI ZIP-Boot Supported
    08: - BIOS Boot Specification Supported
    10: - Enable Targeted Content Distribution
    BIOS Major Revision 255
    BIOS Minor Revision 255
    EC Firmware Major Revision 255
    EC Firmware Minor Revision 255

    Das dürfte als Beweis dafür ausreichen, dass manche Parameter von Sysinfo von WinDbg Preview einfach nicht gelesen werden.

    Als ich mich mit @tkmopped ausgetauscht habe, habe ich auch die Debug-App deinstalliert, einen Systemneustart gemacht und die Debug-App wieder installiert.
    Fazit der gleiche Fehler.

    2. Fehler beim Auslesen der IRP-Stack
    Mithilfe des IRP-Stack kann man feststellen, welche Hardware der IRP-Stack blockiert und welcher Treiber dazu gehört.
    Allerdings ist es so, dass der IRP-Stack bei weitem nicht bei allen Stoppfehlern von Interesse ist und deshalb auch nicht mit gespeichert wird.
    Der IRP-Stack wird, wenn überhaupt, im letzten Thread gespeichert. Ist ja auch verständlich, denn der hängende IRP-Stackframe hat ja das System zum Absturz gebracht.
    Hier ein Beispiel des letzten Thread
    verborgener Text:
    Code:
    !thread // den letzten Thread aufrufen
    THREAD fffffa8016588b50  Cid 0630.258c  Teb: 000000007efdb000 Win32Thread: fffff900c1e15c10 RUNNING on processor 3
    IRP List: // wenn hier eine Adresse steht, ist der IRP-Stack gespeichert
        Unable to read nt!_IRP @ fffffa8016801b10
    // in dieser Dumpfile wurde keine IRP-Liste gespeichert
    Not impersonating
    GetUlongFromAddress: unable to read from fffff80003a40c20
    Owning Process            fffffa8016588480       Image:         dxdiag.exe
    Attached Process          N/A            Image:         N/A
    fffff78000000000: Unable to get shared data
    Wait Start TickCount      47298226     
    Context Switch Count      7252           IdealProcessor: 1                 LargeStack
    ReadMemory error: Cannot get nt!KeMaximumIncrement value.
    UserTime                  00:00:00.000
    KernelTime                00:00:00.000
    Win32 Start Address 0x00000000005bea76
    Stack Init fffff8800b0f5c70 Current fffff8800b0f54b0
    Base fffff8800b0f6000 Limit fffff8800b0ed000 Call 0000000000000000


    In einer anderen Dumpfile wurde die IRP-Liste gespeichert, aber nur 3 von 7 IRP-Stackframes angezeigt, und die waren auch noch leer.
    verborgener Text:
    Code:
    !thread
    THREAD ffffa08c2e452080  Cid 0fec.10bc  Teb: 0000000a45569000 Win32Thread: 0000000000000000 RUNNING on processor d
    IRP List: ffffa08c2feec010: (0006,04c0) Flags: 00060070  Mdl: ffffa08c330b68a0
    // Adresse der IRP-Liste
        Unable to read nt!_IRP @ ffffa08c1eea69a0
    Not impersonating
    GetUlongFromAddress: unable to read from fffff80235c2ba04
    Owning Process            ffffa08c2fbb7080       Image:         audiodg.exe
    Attached Process          N/A            Image:         N/A
    fffff78000000000: Unable to get shared data
    Wait Start TickCount      7118033      
    Context Switch Count      8997983        IdealProcessor: 10             
    ReadMemory error: Cannot get nt!KeMaximumIncrement value.
    UserTime                  00:00:00.000
    KernelTime                00:00:00.000
    Win32 Start Address 0x00007ff8d653a410
    Stack Init fffff20ea24ffb90 Current fffff20ea24fee30
    Base fffff20ea2500000 Limit fffff20ea24f9000 Call 0000000000000000
    Priority 22 BasePriority 22 PriorityDecrement 0 IoPriority 2 PagePriority 5 
    ...
    // aber von den registrierten 7 IRP-Stacks wurden nur 3 leere Stack angezeigt
    irp ffffa08c2feec010
    Irp is active with 7 stacks 6 is current (= 0xffffa08c2feec248)
     Mdl=ffffa08c330b68a0: System buffer=ffffa08c30550350: Thread ffffa08c2e452080:  Irp stack trace.  
         cmd  flg cl Device   File     Completion-Context
     [N/A(0), N/A(0)]
                0  0 00000000 00000000 00000000-00000000    
    
    			Args: 00000000 00000000 00000000 00000000
     [N/A(0), N/A(0)]
                0  0 00000000 00000000 00000000-00000000    
    
    			Args: 00000000 00000000 00000000 00000000
     [N/A(0), N/A(0)]
                0  0 00000000 00000000 00000000-00000000    
    
    			Args: 00000000 00000000 00000000 00000000

    Im Debugger (Desktop) wurden auch die fehlenden 4 Stacks angezeigt.

    Fazit:
    WinDbg Preview hat mindestens 2 Bugs, die die Anzeige von zusätzlichen Informationen betreffen.
    Der erste Bug ärgert mich schon ganz schön, weil ich die Sysinfo bei fast jedem Debuggen abgefragt habe.
    Der zweite Fehler ist auch nicht schön, aber da der IRP-Stack ohnehin nur bei (geschätzt) jeder 10 Dumpfile mit gespeichert wird, ist das noch zu verschmerzen.
    Henry E., PeteM92, skorpion68 und 4 weitere bedanken sich.

  2. #2
    skorpion68
    gehört zum Inventar Avatar von skorpion68

    AW: WinDbg Preview hat mindestens einen Bug

    Hallo Ari45,
    wenn es dir nichts ausmacht dann könntest du dies als Feedback hier Issues · microsoftfeedback/WinDbg-Feedback · GitHub noch eintragen.
    Wolko und Henry E. bedanken sich.

Lesezeichen


  • An Google übertragen Google
  • -->

    Berechtigungen

    • Neue Themen erstellen: Nein
    • Themen beantworten: Nein
    • Anhänge hochladen: Nein
    • Beiträge bearbeiten: Nein
    •  

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163