Delen via


Sessie-debugbeheerder

SDM (Session Debug Manager) beheert een willekeurig aantal foutopsporingsengines (DE) die fouten opsporen in een willekeurig aantal programma's in meerdere processen op een willekeurig aantal computers. Naast een multiplexer voor foutopsporingsengine biedt de SDM een uniforme weergave van de foutopsporingssessie voor de IDE.

Sessiedebugbeheerderbewerking

SDM (Session Debug Manager) beheert de DE. Er kunnen meerdere debug-engines tegelijkertijd op een computer worden uitgevoerd. Als u de DE's wilt multiplexen, verpakt de SDM een aantal interfaces van de DE's en stelt deze als één interface beschikbaar voor de IDE.

Om de prestaties te verbeteren, worden sommige interfaces niet multiplexed. In plaats daarvan worden ze rechtstreeks vanuit de DE gebruikt en worden aanroepen naar deze interfaces niet via SDM uitgevoerd. Interfaces die worden gebruikt met geheugen, code en documentcontexten worden bijvoorbeeld niet gemultiplexeerd, omdat ze verwijzen naar een specifieke instructie, geheugen of document in een specifiek programma dat wordt gedebugged door een specifieke DE. Er hoeft geen andere DE te worden betrokken bij dat communicatieniveau.

Dit geldt niet voor alle contexten. Aanroepen naar de contextinterface van de expressie-evaluatie verlopen via de SDM. Tijdens de evaluatie van de expressie verpakt de SDM de IDebugExpression2-interface die deze aan de IDE geeft, omdat wanneer die expressie wordt geëvalueerd, het mogelijk meerdere DE's omvat die programma's opsporen in hetzelfde proces dat mogelijk op dezelfde thread wordt uitgevoerd.

De SDM fungeert doorgaans als een overdrachtsmechanisme, maar kan fungeren als een broadcast-mechanisme. Tijdens de evaluatie van expressies fungeert de SDM bijvoorbeeld als een broadcastmechanisme om alle DE's op de hoogte te stellen dat ze code op een opgegeven thread kunnen uitvoeren. Op dezelfde manier wordt, wanneer de SDM een stop-gebeurtenis ontvangt, aan de programma's geïnstrueerd om te stoppen. Wanneer een stap wordt aangeroepen, zendt de SDM een signaal uit naar de programma's zodat zij kunnen doorgaan met uitvoeren. Onderbrekingspunten worden ook uitgezonden naar elke DE.

Het SDM houdt het huidige programma, de thread of het stackframe niet bij. De proces-, programma- en threadgegevens worden in combinatie met specifieke foutopsporingsevenementen naar de SDM verzonden.

Zie ook