Delen via


Demontagecode weergeven in het Visual Studio-foutopsporingsprogramma (C#, C++, Visual Basic, F#)

Het venster Demontage toont assemblycode die overeenkomt met de instructies die door de compiler zijn gemaakt. Wanneer u beheerde code debugt, komen deze assembly-instructies overeen met de native code die door de Just-In-Time-compiler (JIT) is gemaakt, niet de tussenliggende taal van Microsoft (MSIL) die door de Visual Studio-compiler is gemaakt.

Opmerking

Als u optimaal gebruik wilt maken van het demontagevenster , moet u de basisprincipes van assemblytaalprogrammering begrijpen of leren kennen. Referentiemateriaal voor Intel-instructiesets vindt u in het tweede volume van de architectuurhandleidingen. Dit materiaal is over het algemeen ook van toepassing op AMD-instructiesets.

Deze functie is alleen beschikbaar als foutopsporing op adresniveau is ingeschakeld. Het is niet beschikbaar voor script- of SQL-foutopsporing.

Naast montage-instructies kan het venster Demontage de volgende optionele informatie weergeven:

  • Geheugenadres waar elke instructie zich bevindt. Voor systeemeigen toepassingen is dit het werkelijke geheugenadres. Voor Visual Basic of C# is het een offset ten opzichte van het begin van de functie.

  • Broncode waaruit de assemblycode is afgeleid.

  • Codebytes, dat wil gezegd, de byteweergaven van de werkelijke machine- of MSIL-instructies.

  • Symboolnamen voor de geheugenadressen.

  • Regelnummer die bij de broncode horen.

Assemblytaalinstructies bestaan uit nemonics, afkortingen voor instructienamen en symbolen voor variabelen, registers en constanten. Elke machinetaalinstructie wordt vertegenwoordigd door één mnemonic van de assemblytaal, optioneel gevolgd door een of meer symbolen.

Assemblycode is sterk afhankelijk van processorregisters of, voor beheerde code, algemene taalruntimeregisters. U kunt het venster Demontage gebruiken samen met het venster Registers , waarmee u de registerinhoud kunt onderzoeken.

Als u instructies voor machinecode in hun onbewerkte numerieke vorm wilt weergeven in plaats van als assemblytaal, gebruikt u het geheugenvenster of selecteert u Codebytes in het snelmenu in het venster Demontage .

Het venster Demontage gebruiken

Als u het venster Demontage wilt inschakelen> u onder Opties> voor foutopsporing op adresniveau inschakelen.

Als u het venster Demontage wilt openen tijdens foutopsporing, selecteert u Debug>Windows>Disassembly of drukt u op Ctrl + Alt + D.

Opmerking

De dialoogvensters en menuopdrachten die u ziet, kunnen afwijken van de dialoogvensters en menuopdrachten die in dit artikel worden beschreven, afhankelijk van uw actieve instellingen of editie. Als u uw instellingen wilt wijzigen, kiest u Instellingen voor importeren en exporteren in het menu Extra. Zie Alle instellingen opnieuw instellenvoor meer informatie.

Als u optionele informatie wilt in- of uitschakelen, klikt u met de rechtermuisknop in het venster Demontage en schakelt u de gewenste opties in of uit in het snelmenu.

Een gele pijl in de linkermarge markeert het huidige uitvoeringspunt. Voor systeemeigen code komt het uitvoeringspunt overeen met de programmameteritem van de CPU. Op deze locatie ziet u de volgende instructie die in uw programma wordt uitgevoerd.

Pagina omhoog of omlaag in het geheugen

Wanneer u de inhoud van het geheugen in een geheugenvenster of het venster Demontage bekijkt, kunt u de verticale schuifbalk gebruiken om omhoog of omlaag te gaan in de geheugenruimte.

  1. Als u omlaag wilt bladeren (naar een hoger geheugenadres), klikt u op de verticale schuifbalk onder het schuifvak.

  2. Als u naar boven wilt gaan (naar een lager geheugenadres), klikt u op de verticale schuifbalk boven de duim.

    U ziet ook dat de verticale schuifbalk op een niet-standaard manier werkt. De adresruimte van een moderne computer is erg groot en het zou gemakkelijk zijn om verloren te gaan door de duim van de schuifbalk te pakken en naar een willekeurige locatie te slepen. Om deze reden is de duim voorzien van een veermechanisme en blijft altijd in het midden van de schuifbalk. In systeemeigen codetoepassingen kunt u omhoog of omlaag bladeren, maar u kunt niet vrij schuiven.

    In beheerde toepassingen is de demontage beperkt tot één functie en kunt u normaal schuiven.

    U ziet dat de hogere adressen onder aan het venster worden weergegeven. Als u een hoger adres wilt weergeven, moet u omlaag gaan, niet omhoog.

Eén instructie omhoog of omlaag verplaatsen

  • Klik op de pijl boven of onder aan de verticale schuifbalk.