Dela via


Felsökning av sammansättningskod i WinDbg (klassisk)

I WinDbg kan du visa sammansättningskod genom att ange kommandon eller genom att använda fönstret Demontera.

Kommandofönster för felsökningsprogram

Du kan visa sammansättningskoden genom att ange ett av kommandona u, ub, uu (unassemble) i fönstret Felsökningskommando.

Disassembleringsfönster

Om du vill öppna eller växla till fönstret Disassembly väljer du Dissasembly på menyn Visa . (Du kan också trycka på ALT+7 eller välja knappen Demontera i verktygsfältet. ALT+SKIFT+7 stänger disassembly-fönstret.)

Följande skärmbild visar ett exempel på ett disassembly-fönster.

Skärmbild av fönstret Disassembly i WinDbg.

Felsökningsprogrammet tar en del av minnet, tolkar det som binära datorinstruktioner och demonterar det sedan för att skapa en sammansättningsspråkversion av datorinstruktionerna. Den resulterande koden visas i fönstret Disassembly.

I fönstret Disassembly kan du göra följande:

  • Om du vill demontera ett annat avsnitt av minnet, skriver du adressen för minnet du vill demontera i rutan Offset. (Du kan trycka på RETUR när du har skrivit adressen, men du behöver inte göra det.) Fönstret Disassembly visar kod innan du har slutfört adressen. du kan bortse från den här koden.

  • Om du vill se andra delar av minnet väljer du knapparna Föregående eller Nästa eller trycker på knapparna PAGE UP eller PAGE DOWN. Dessa kommandon visar demonterad kod från föregående eller följande minnesavsnitt. Genom att trycka på tangenterna HÖGERPIL, VÄNSTERPIL, UPPÅTPIL och NEDÅTPIL kan du navigera i fönstret. Om du använder dessa nycklar för att flytta från sidan visas en ny sida.

Fönstret Disassembly har ett verktygsfält som innehåller två knappar och en snabbmeny med ytterligare kommandon. Om du vill öppna menyn väljer du och håller ned (eller högerklickar på) namnlisten eller väljer ikonen som visas i det övre högra hörnet i fönstret. I följande lista beskrivs några av menykommandona.

  • Gå till aktuell adress öppnar fönstret Källa med källfilen som motsvarar den valda raden i fönstret Disassembly och markerar den här raden.

  • Demontera före den aktuella instruktionen gör att den aktuella raden placeras mitt i demonteringsfönstret. Det här kommandot är standardalternativet. Om du avmarkerar det här kommandot visas den aktuella raden överst i demonteringsfönstret, vilket sparar tid eftersom bakåtriktad demontering kan vara tidskrävande.

  • Markeringsinstruktioner från den aktuella källraden gör att alla instruktioner som motsvarar den aktuella källraden markeras. Ofta motsvarar en enda källrad flera assemblerinstruktioner. Om koden har optimerats kanske dessa sammansättningsinstruktioner inte är i följd. Med det här kommandot kan du hitta alla instruktioner som har sammanställts från den aktuella källraden.

  • Visa källraden för varje instruktion visar det källradsnummer som motsvarar varje sammansättningsinstruktion.

  • Visa källfilen för varje instruktion visar källfilens namn som motsvarar varje sammansättningsinstruktion.

Se även

Mer information om sammansättningsfelsökning och relaterade kommandon och en fullständig förklaring av sammansättningsvisningen finns i Felsökning i sammansättningsläge.