Dela via


Visa demonteringskod i Visual Studio-felsökningsprogrammet (C#, C++, Visual Basic, F#)

Fönstret Disassembly visar sammansättningskod som motsvarar instruktionerna som skapats av kompilatorn. Om du felsöker hanterad kod motsvarar de här sammansättningsinstruktionerna den interna kod som skapats av JIT-kompilatorn (Just-in-Time), inte microsofts mellanliggande språk (MSIL) som skapats av Visual Studio-kompilatorn.

Anmärkning

Om du vill dra full nytta av disassembly-fönstret kan du förstå eller lära dig grunderna i programmering på sammansättningsspråk. Referensmaterial för Intel-instruktionsuppsättningar finns i den andra volymen i arkitekturhandböckerna. Detta material gäller vanligtvis även för AMD-instruktionsuppsättningar.

Den här funktionen är endast tillgänglig om felsökning på adressnivå är aktiverat. Den är inte tillgänglig för skript- eller SQL-felsökning.

Förutom monteringsinstruktioner kan fönstret Disassembly visa följande valfria information:

  • Minnesadress där varje instruktion finns. För interna program är det den faktiska minnesadressen. För Visual Basic eller C#är det en förskjutning från början av funktionen.

  • Källkod från vilken sammansättningskoden härleds.

  • Kodbyte, d.v.s. byterepresentationer av den faktiska datorn eller MSIL-instruktioner.

  • Symbolnamn för minnesadresserna.

  • Radnummer som motsvarar källkoden.

Instruktioner för sammansättningsspråk består av mnemonics, som är förkortningar för instruktionsnamn och symboler för variabler, register och konstanter. Varje maskinspråksinstruktion representeras av en assemblermnemonic, eventuellt följd av en eller flera symboler.

Sammansättningskoden är starkt beroende av processorregister eller, för hanterad kod, vanliga språkkörningsregister. Du kan använda fönstret Disassembly tillsammans med fönstret Register , som gör att du kan granska innehållet i registret.

Om du vill visa maskinkodsinstruktioner i deras råa numeriska form, i stället för som assemblerspråk, använder du fönstret Minne eller väljer Kodbyten från snabbmenyn i fönstret Disassembler.

Använd fönstret Disassembly

Om du vill aktivera disassembly-fönstret går du till Verktygsalternativ>>Felsökning och väljer Aktivera felsökning på adressnivå.

Om du vill öppna fönstret Demontera under felsökningen väljer du Felsöka>Windows>Deassembly eller trycker på Ctrl + Alt + D.

Anmärkning

De dialogrutor och menykommandon som du ser kan skilja sig från de som beskrivs i den här artikeln beroende på dina aktiva inställningar eller utgåva. Om du vill ändra inställningarna väljer du Inställningar för import och export på menyn Verktyg. Mer information finns i Återställ alla inställningar.

Om du vill aktivera eller inaktivera valfri information högerklickar du i fönstret Disassembly och anger eller avmarkerar önskade alternativ på snabbmenyn.

En gul pil i vänstermarginalen markerar den aktuella körningspunkten. För native kod motsvarar exekveringspunkten CPU:ns programräknare. Den här platsen visar nästa instruktion som ska köras i programmet.

Bläddra upp eller ner i minnet

När du visar minnesinnehåll i ett minnesfönster eller disassembly-fönstret kan du använda den lodräta rullningslisten för att flytta upp eller ned i minnesutrymmet.

  1. Om du vill bläddra nedåt (flytta till en högre minnesadress) klickar du på den lodräta rullningslisten under rullningsrutan.

  2. För att bläddra uppåt (flytta till en lägre minnesadress), klicka på den lodräta rullningslisten ovanför dragknappen.

    Du kommer också att märka att den lodräta rullningslisten fungerar på ett sätt som inte är standard. Adressutrymmet för en modern dator är mycket stort, och det skulle vara lätt att gå vilse genom att ta tag i rullningslistens tumme och dra den till en slumpmässig plats. Därför är tummen "springloaded" och förblir alltid i mitten av rullningslisten. I inbyggda kodprogram kan du bläddra uppåt eller nedåt, men det går inte att bläddra fritt.

    I hanterade program är demonteringen begränsad till en funktion och du kan rulla normalt.

    Du ser att de högre adresserna visas längst ned i fönstret. Om du vill visa en högre adress måste du flytta nedåt, inte uppåt.

Flytta upp eller ned en instruktion

  • Klicka på pilen längst upp eller längst ned i den lodräta rullningslisten.