Dela via


Felsöka User-Mode processer utan symboler

Det är viktigt att ha symboler på den felande datorn innan du startar felsökningsprogrammet för ett fel i användarläge. Ibland startas dock felsökningsprogrammet utan symboler. Om problemet är enkelt att återskapa kan du bara kopiera symboler och köra det igen. Men om problemet kanske inte uppstår igen kan viss information fortfarande hämtas från felet:

  1. För att ta reda på vad adresserna betyder behöver du en dator som matchar den med felet. Den bör ha samma plattform (x86 eller x64) och läsas in med samma version av Windows.

  2. När du har konfigurerat datorn kopierar du symbolerna för användarläge och de binärfiler som du vill felsöka till den nya datorn.

  3. Starta CDB eller WinDbg på den symbollösa datorn.

  4. Om du inte vet vilket program som misslyckades på den symbollösa datorn utfärdar du en | (Processstatus) befallning. Om det inte ger dig ett namn kan du bryta dig in i KD på den symbollösa datorn och göra en !process 0 0 och leta efter process-ID:t som anges av CDB-kommandot.

  5. När du har konfigurerat de två felsökarna – ett med symboler som inte har drabbat felet och ett som har drabbats av felet men saknar symboler – utfärdar du ett k-kommando (Visa stack-backtrace) på den symbollösa datorn.

  6. På datorn med symboler utfärdar du ett u-kommando (ta isär) för varje adress som anges i den symbollösa stacken. Detta ger dig stackspårningen för felet på en dator utan symboler.

  7. Genom att titta på en stackspårning kan du se modul- och funktionsnamnen som ingår i anropet.