Delen via


Methoden voor het beheren van onderbrekingspunten

Een onderbrekingspunt is een locatie in uitvoerbare code waarop het besturingssysteem de uitvoering stopt en in het foutopsporingsprogramma inbreekt. Hiermee kunt u het doel analyseren en foutopsporingsopdrachten uitvoeren.

U kunt de locatie van een onderbrekingspunt opgeven op basis van virtuele adres-, module- en routine-offsets, of bronbestand en regelnummer (in de bronmodus). Als u een onderbrekingspunt op een routine plaatst zonder offset, wordt het onderbrekingspunt geactiveerd wanneer die routine wordt ingevoerd.

Er zijn verschillende extra soorten onderbrekingspunten:

  • Een onderbrekingspunt kan worden gekoppeld aan een bepaalde thread.

  • Een onderbrekingspunt kan een vast aantal doorgangen door een adres inschakelen voordat het wordt geactiveerd.

  • Een onderbrekingspunt kan automatisch bepaalde opdrachten uitgeven wanneer het wordt geactiveerd.

  • Een onderbrekingspunt kan worden ingesteld op niet-uitvoerbaar geheugen om te bewaken of dat de locatie wordt gelezen of beschreven.

Als u meer dan één proces in de gebruikersmodus foutopsporing gebruikt, is de verzameling onderbrekingspunten afhankelijk van het huidige proces. Als u de onderbrekingspunten van een proces wilt weergeven of wijzigen, moet u het proces selecteren als het huidige proces. Zie Processen en threads beheren voor meer informatie over het huidige proces.

Debugger-opdrachten voor het controleren en weergeven van breakpoints

Als u onderbrekingspunten wilt beheren of weergeven, kunt u de volgende methoden gebruiken:

In WinDbg zijn er verschillende elementen van de gebruikersinterface die het beheren en weergeven van onderbrekingspunten vergemakkelijken. Zie Onderbrekingspunten instellen in WinDbg (klassiek).

Aan elk onderbrekingspunt is een decimaal getal gekoppeld, de id van het onderbrekingspunt. Dit getal identificeert het onderbrekingspunt in verschillende opdrachten.

Onderbrekingspuntopdrachten

U kunt een opdracht opnemen in een onderbrekingspunt dat automatisch wordt uitgevoerd wanneer het onderbrekingspunt wordt bereikt. De volgende opdracht wordt bijvoorbeeld onderbroken bij MyFunction+0x47, schrijft een dumpbestand en hervat de uitvoering.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

Notitie Als u het foutopsporingsprogramma voor de gebruikersmodus beheert vanuit het kernelfoutopsporingsprogramma, gebruikt u g (Go) niet in de opdrachtreeks voor onderbrekingspunten. De seriële interface kan mogelijk niet bijhouden met deze opdracht en u kunt niet terugbreken in CDB. Zie Het User-Mode foutopsporingsprogramma beheren vanuit het kernelfoutopsporingsprogramma voor meer informatie over deze situatie.

Aantal onderbrekingspunten

In de kernelmodus kunt u maximaal 32 softwareonderbrekingspunten gebruiken. In de gebruikersmodus kunt u een willekeurig aantal softwareonderbrekingspunten gebruiken.

Het aantal processoronderbrekingspunten dat wordt ondersteund, is afhankelijk van de doelprocessorarchitectuur.

Voorwaardelijke onderbrekingspunten

U kunt een onderbrekingspunt instellen dat alleen onder bepaalde voorwaarden wordt geactiveerd. Zie Een voorwaardelijk onderbrekingspunt instellen voor meer informatie over dit soort onderbrekingspunten.

Dubbelzinnige onderbrekingspunten

In versie 10.0.25310.1001 en hoger van de foutopsporingsprogramma-engine wordt nu ambigu onderbrekingspuntresolutie ondersteund. Ambigue onderbrekingspunten maken het mogelijk dat de debugger onder bepaalde omstandigheden onderbrekingspunten instelt, waarbij een onderbrekingspunt naar meerdere locaties kan leiden. Zie Ambigu onderbrekingspuntoplossing voor meer informatie.

Zie ook

Onderbrekingspunten gebruiken

Syntaxis van onderbrekingspunt

bp, bu, bm (Onderbrekingspunt instellen)

Niet-opgeloste onderbrekingspunten (bu Breakpoints)