Sdílet prostřednictvím


Připojení přímo k programu

Uživatelé, kteří chtějí ladit programy v procesu, který už běží, obvykle používají tento proces:

  1. V integrovaném vývojovém prostředí otevřete nabídku Ladění a vyberte příkaz Připojit k procesu...

    Zobrazí se dialogové okno Připojit k procesu se seznamem všech ladicích modulů nainstalovaných na počítači.

  2. Zadejte DE, které se mají použít k ladění vybraného procesu, zvolte proces a klikněte na tlačítko Připojit .

    Ladicí balíček spustí ladicí relaci a předá do ní seznam DE. Relace ladění pak předá tento seznam spolu s funkcí zpětného volání do vybraného procesu a pak požádá proces, aby vypsal jeho spuštěné programy.

    Programově v reakci na požadavek uživatele vytvoří balíček ladění instanci správce ladění relace (SDM) a předá do něj seznam vybraných DE. Spolu se seznamem ladicí balíček předává SDM IDebugEventCallback2 rozhraní. Ladicí balíček předává seznam DE vybranému procesu voláním IDebugProcess2::Attach. SDM pak volá IDebugProcess2::EnumPrograms na portu k vytvoření výčtu programů spuštěných v procesu.

    Od tohoto okamžiku se každý ladicí modul připojí k programu přesně tak, jak je podrobně popsáno při připojování po spuštění, se dvěma výjimkami.

    Z důvodu efektivity jsou DE implementované pro sdílení adresního prostoru s SDM seskupené tak, aby každý de má sadu programů, ke kterým se připojí. V tomto případě IDebugProcess2 volá IDebugEngine2::Attach a předá ho pole programů, ke které se má připojit.

    Druhou výjimkou je to, že spouštěcí události odeslané de připojením k programu, který je již spuštěný, obvykle nezahrnují událost vstupního bodu.