Delen via


Opnieuw koppelen aan de doeltoepassing

Als het foutopsporingsprogramma vastloopt of anderszins niet meer reageert (dat wil gezegd, loopt vast) terwijl u foutopsporing in de gebruikersmodus uitvoert, kunt u een nieuw foutopsporingsprogramma aan het bestaande proces koppelen.

Opmerking Deze methode wordt alleen ondersteund in Microsoft Windows XP en latere versies van Windows. Deze methode is niet afhankelijk van of het foutopsporingsprogramma het proces oorspronkelijk heeft gemaakt of is gekoppeld aan een bestaand proces. Deze methode is niet afhankelijk van of u de optie -pd hebt gebruikt.

Ga als volgt te werk om een foutopsporingsprogramma opnieuw te koppelen aan een bestaande doeltoepassing:

  1. de proces-id van de doeltoepassing bepalen.

  2. Start een nieuw exemplaar van CDB of WinDbg. Gebruik de opdrachtregeloptie -pe.

    Debugger -pe -p PID 
    

    U kunt ook andere opdrachtregeloptiesgebruiken.

    U kunt ook verbinding maken vanuit een niet-actief foutopsporingsprogramma met behulp van de .attach (koppelen aan proces) opdracht samen met de optie -e.

  3. Nadat de koppeling is voltooid, eindigt u de oorspronkelijke foutopsporingssessie.

  4. Als het proces niet goed reageert, heeft het mogelijk een onderbrekingsaantal dat te hoog is. U kunt de ~m (Thread hervatten) opdracht gebruiken om het aantal onderbrekingen te verminderen. Zie Processen en threads beherenvoor meer informatie over het onderbreken van aantallen.

Als het oorspronkelijke foutopsporingsprogramma nog steeds goed werkt, werkt deze methode mogelijk niet. De twee foutopsporingsprogramma's concurreren voor foutopsporingsevenementen en het Windows-besturingssysteem wijst niet noodzakelijkerwijs alle foutopsporings gebeurtenissen toe aan het nieuwe foutopsporingsprogramma.

Als het oorspronkelijke foutopsporingsprogramma wordt beƫindigd voordat u het nieuwe foutopsporingsprogramma koppelt, wordt de doeltoepassing ook gesloten. (Als het foutopsporingsprogramma echter is gekoppeld aan de optie -pd en vervolgens normaal wordt afgesloten, blijft de doeltoepassing actief. In deze situatie kan een tweede foutopsporingsprogramma worden gekoppeld aan de doeltoepassing zonder de optie -pe te gebruiken.)

Als u al een proces aan het debuggen bent en het proces wilt loskoppelen maar het bevroren in een debug-status wilt laten, kunt u de opdracht .abandon (Abandon Process) gebruiken. Na deze opdracht kan elk Windows-foutopsporingsprogramma opnieuw worden gekoppeld aan het proces met behulp van de procedure die in dit onderwerp wordt beschreven.