Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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:
Gebruik de opdracht bl (Onderbrekingspuntlijst) om bestaande onderbrekingspunten en de huidige status ervan weer te geven.
Gebruik de opdracht .bpcmds (Opdrachten voor onderbrekingspunten weergeven) om alle onderbrekingspunten weer te geven, samen met de opdrachten die zijn gebruikt om ze te maken.
Gebruik de opdracht Bp (Onderbrekingspunt instellen) om een nieuw onderbrekingspunt in te stellen.
Gebruik de opdracht Bu (Onopgeloste onderbrekingspunt instellen) om een nieuw onderbrekingspunt in te stellen. Onderbrekingspunten die zijn ingesteld met bu , worden niet-opgeloste onderbrekingspunten genoemd; ze hebben andere kenmerken dan onderbrekingspunten die zijn ingesteld met bp. Zie Niet-opgeloste breekpunten (bu Onderbrekingspunten) voor volledige details.
Gebruik de opdracht BM (Onderbrekingspunt symbool instellen) om nieuwe onderbrekingspunten in te stellen op symbolen die overeenkomen met een opgegeven patroon. Een onderbrekingspunt met bm wordt gekoppeld aan een adres (zoals een bp-onderbrekingspunt) als de schakeloptie /d is opgenomen; het blijft onopgelost (zoals een bu-onderbrekingspunt) als deze schakeloptie niet is opgenomen.
Gebruik de opdracht ba (Break on Access) om een processoronderbrekingspunt in te stellen, ook wel een gegevensonderbrekingspunt genoemd. Deze onderbrekingspunten kunnen worden geactiveerd wanneer de geheugenlocatie naar wordt geschreven, wanneer deze wordt gelezen, wanneer deze wordt uitgevoerd als code of wanneer kernel-I/O plaatsvindt. Raadpleeg Processoronderbrekingspunten (ba Onderbrekingspunten) voor volledige details.
Gebruik de opdracht bc (Breakpoint Clear) om een of meer onderbrekingspunten permanent te verwijderen.
Gebruik de opdracht bd (Onderbrekingspunt uitschakelen) om een of meer onderbrekingspunten tijdelijk uit te schakelen.
Gebruik de opdracht Be (Onderbrekingspunt inschakelen) om een of meer uitgeschakelde onderbrekingspunten opnieuw in te schakelen.
Gebruik de opdracht br (hernummering van onderbrekingspunten) om de ID van een bestaand onderbrekingspunt te wijzigen.
Gebruik de opdracht bs (Opdracht Onderbrekingspunt bijwerken) om de opdracht te wijzigen die is gekoppeld aan een bestaand onderbrekingspunt.
Gebruik de opdracht bsc (Voorwaardelijk onderbrekingspunt bijwerken) om de voorwaarde te wijzigen waaronder een bestaand voorwaardelijk onderbrekingspunt plaatsvindt.
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
Syntaxis van onderbrekingspunt