Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Modul ladicího programu může současně ladit více cílů. Relace ladění začíná, když modul získá cíl a pokračuje, dokud nebudou zahozeny všechny cíle. Relace ladění je nepřístupná , když se cíle spouští a jsou přístupné , když je aktuální cíl pozastavený. Modul lze použít pouze k prozkoumání cílů a manipulaci s nimi, když je relace přístupná.
Hlavní smyčka ladicího programu se obvykle skládá z nastavení stavu spuštění, volání metody WaitForEvent a zpracování vygenerovaných událostí. Při zavolání WaitForEvent se relace stane nepřístupnou.
Když dojde k události v cíli, modul pozastaví všechny cíle a relace se zpřístupní. Motor pak upozorní zpětná volání události a řídí se pravidly filtrování událostí. Zpětné volání událostí a filtry událostí určují, jak by mělo pokračovat provádění v cíli. Pokud zjistí, že by měl modul spustit přerušení v ladicím programu, metoda WaitForEvent se vrátí a relace bude nadále přístupná; v opačném případě modul obnoví provádění cíle způsobem určeným callbacky událostí a filtry událostí, a relace bude znovu nepřístupná.
Po dobu trvání volání WaitForEvent , zejména při upozorňování zpětných volání událostí a zpracování pravidel filtru - modul je ve stavu označovaném jako "uvnitř čekání". V tomto stavu nelze zavolat WaitForEvent (není znovu vstupný).
Spuštění v cíli zahrnuje dva kroky: nastavení stavu spuštění a následné volání WaitForEvent. Stav spuštění lze nastavit pomocí metody SetExecutionStatus nebo spuštěním příkazu ladicího programu, který nastaví stav spuštění– například g(Go) a p (Krok).
Pokud se spustí posloupnost příkazů ladicího programu– například "g ; ? @$ip"- implicitní čekání proběhne po každém příkazu, který vyžaduje spuštění v cíli, pokud tento příkaz není posledním příkazem v sekvenci. Implicitní čekání nemůže nastat, když je modul ladicího programu ve stavu "uvnitř čekání"; v tomto případě se provádění příkazů zastaví a aktuální příkaz – příkaz, který se pokusil způsobit implicitní čekání – bude interpretován jako označení toho, jak by mělo pokračovat spuštění v cíli. Zbývající příkazy se zahodí.
Poznámka Při určování, zda je relace přístupná nebo nepřístupná, je omezené spuštění cíle (například krokování) považováno za spuštění modulem. Jakmile je omezené provádění dokončeno, relace bude přístupná.
Hostitelský stroj
Při vzdáleném ladění můžete použít více instancí modulu ladicího programu. Přesně jedna z těchto instancí udržuje ladicí relaci; tato instance se nazývá hostitelský modul.
Všechny operace ladicího programu jsou relativní vzhledem k hostitelskému enginu, například načítání symbolů a načítání rozšíření.