Základní rozhraní
Následující rozhraní jsou základní rozhraní pro rozšíření ladicího programu pomocí sady Visual Studio SDK.
Diskuse
Tato rozhraní se primárně používají k vytvoření ladicího modulu (DE). Jsou uspořádané podle kategorií:
-
Entity, které mohou implementovat rozhraní, jsou:
Ladicí modul (DE)
Dodavatel portů (PS)
Vyhodnocovač výrazů (EE)
Visual Studio (VS)
Zarážky
Tato rozhraní souvisejí s implementací a sledováním zarážek.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugBoundBreakpoint2 | DE | Představuje zarážku vázanou na umístění paměti. |
IDebugBreakpointBoundEvent2 | DE | De odešle, když je zarážka svázaná s umístěním paměti. |
IDebugBreakpointChecksumRequest2 | sada VS | Představuje kontrolní součet dokumentu pro požadavek na zarážku. |
IDebugBreakpointErrorEvent2 | DE | Funkce DE se odešle, když se zarážka nepodaří svázat s umístěním paměti. |
IDebugBreakpointEvent2 | DE | Odešle de při dosažení zarážky. |
IDebugBreakpointRequest2 | sada VS | Představuje požadavek na zarážku; používá se při vytváření čekající zarážky. |
IDebugBreakpointRequest3 | sada VS | Představuje požadavek na zarážku; používá se při vytváření čekající zarážky. |
IDebugBreakpointResolution2 | DE | Představuje informace použité k vytvoření vazby zarážky. |
IDebugBreakpointUnboundEvent2 | DE | Odešle de, když je zarážka nevázaná z umístění paměti. |
IDebugErrorBreakpoint2 | DE | Představuje neplatnou zarážku (vrácenou IDebugBreakpointErrorEvent2 ). |
IDebugErrorBreakpointResolution2 | DE | Představuje informace o řešení neplatné zarážky. |
IDebugFunctionPosition2 | DE | Představuje pozici ve funkci, kde je nastaven zarážka. |
IDebugPendingBreakpoint2 | DE | Představuje zarážku, která má být vázána; používá se při vytváření vázané zarážky. |
IEnumDebugBoundBreakpoints2 | DE | Představuje výčet nad sadou vázaných zarážek. |
IEnumDebugErrorBreakpoints2 | DE | Představuje výčet nad sadou zarážek, které nelze svázat s umístěním paměti. |
Kontexty
Tato rozhraní představují různé druhy kontextů v rámci programu, který se ladí.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugCodeContext2 | DE | Představuje počáteční pozici instrukce kódu. |
IDebugCodeContext3 | DE | Rozšiřuje rozhraní IDebugCodeContext2, aby bylo možné načíst modul a procesní rozhraní. |
IDebugDocumentContext2 | VS, DE | Představuje pozici v dokumentu. |
IDebugExpressionContext2 | DE | Představuje kontext, ve kterém se má výraz vyhodnotit. |
IDebugMemoryContext2 | DE | Představuje počáteční umístění v paměti kolekce bajtů. |
IDebugStackFrame2 | DE | Představuje kontext rámce zásobníku na zarážce nebo výjimce. |
IDebugStackFrame3 | DE | Představuje kontext rámce zásobníku na zarážce nebo výjimce. |
IEnumDebugCodeContexts2 | DE | Představuje výčet nad sadou kontextů kódu. |
Základní server
Tato rozhraní představují počítač, na kterém se program ladí. Tyto moduly jsou implementované sadou Visual Studio, ale můžou je volat ladicí moduly.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugCoreServer2 | sada VS | Poskytuje přístup k portům a dodavatelům portů a také informacím o počítači. |
IDebugCoreServer3 | sada VS | Představuje IDebugCoreServer2, který podporuje vzdálené ladění. |
Ladicí moduly
Tato rozhraní představují ladicí moduly a jejich přidružené události.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugEngine2 | DE | Představuje vlastní ladicí modul. |
IDebugEngine3 | DE | Představuje vlastní ladicí modul, který podporuje načítání symbolů, JustMyCode a výjimek. |
IDebugEngineCreateEvent2 | DE | Odesílaná každou novou instancí de indikuje, že je připravena zpracovat úlohy ladění. |
IDebugEngineLaunch2 | DE | Představuje vlastní ladicí modul, který podporuje spouštění programů. |
IDebugProgramEngines2 | DE, PS | Představuje programový uzel, který zpracovává více ladicí moduly. |
IDebugQueryEngine2 | DE | Poskytuje způsob, jak SDM získat rozhraní pro ladicí modul z vlákna, programu nebo rámce zásobníku. |
Dokumenty
Tato rozhraní představují dokumenty (zdrojové soubory) a jejich přidružené prvky.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugActivateDocumentEvent2 | DE | De poslal žádost o otevření dokumentu. |
IDebugDisassemblyStream2 | DE | Představuje datový proud rozebraných instrukcí z dokumentu. |
IDebugDocument2 | VS, DE | Představuje dokument zadaný de, určující název a ID třídy (CLSID). |
IDebugDocumentChecksum2 | DE, EE | Představuje kontrolní součet pro ladicí dokument a umožňuje předávání kontrolního součtu mezi komponentami. |
IDebugDocumentContext2 | VS, DE | Představuje kontext dokumentu, pozici v dokumentu odpovídající určitému příkazu a kontextu kódu. |
IDebugDocumentPosition2 | VS, DE | Představuje obecnou pozici v dokumentu. |
IDebugDocumentPositionOffset2 | sada VS | Představuje pozici ve zdrojovém souboru jako posun znaku. |
IDebugDocumentText2 | VS, DE | Představuje textový dokument zadaný de (odvozený z IDebugDocument2), který poskytuje skutečný text. |
IDebugDocumentTextEvents2 | DE | Funkce DE odešle změny zdrojového souboru, který je v paměti. |
Událost
Tato rozhraní představují všechny události, které se odesílají mezi de a správcem ladění relace (SDM).
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugActivateDocumentEvent2 | DE | De poslal žádost o otevření dokumentu. |
IDebugBeforeSymbolSearchEvent2 | DE | Ladicí modul (DE) odešle toto rozhraní správci ladění relace (SDM) k nastavení stavového řádku během načítání symbolů. |
IDebugBreakEvent2 | DE | Funkce DE byla odeslána po dokončení přerušení programu. |
IDebugBreakpointBoundEvent2 | DE | Odešle de, pokud je zarážka svázaná. |
IDebugBreakpointErrorEvent2 | DE | Odešle de, když se zarážka nepodaří vázat. |
IDebugBreakpointEvent2 | DE | Odešle de při dosažení zarážky. |
IDebugBreakpointUnboundEvent2 | DE | Odešle de, pokud je zarážka nevázaná. |
IDebugCanStopEvent2 | DE | Odeslaná de a určí, jestli se má zastavit v určitém umístění. |
IDebugDocumentTextEvents2 | DE | Funkce DE odešle změny zdrojového souboru, který je v paměti. |
IDebugEngineCreateEvent2 | DE | Odesílaná každou novou instancí de indikuje, že je připravena zpracovat úlohy ladění. |
IDebugEntryPointEvent2 | DE | Odeslaná de indikuje, že program, který je laděný, je připravený spustit první instrukce. |
IDebugErrorEvent2 | DE | Rozhraní používané jinými rozhraními událostí, které může vrátit chybu, k poskytování chybových zpráv čitelných člověkem. |
IDebugEvent2 | DE, PS | Základní rozhraní, ze kterého jsou odvozena všechna ostatní rozhraní událostí. |
IDebugEventCallback2 | sada VS | Představuje rozhraní implementované SDM, do kterého se odesílají události (vyjádřené jako objekty implementované konkrétním rozhraním události). |
IDebugExceptionEvent2 | DE | Funkce DE byla odeslána, pokud došlo k výjimce v programu, který je laděný. |
IDebugExpressionEvaluationCompleteEvent2 | DE | Po dokončení vyhodnocení asynchronního výrazu je odesláno de. |
IDebugFindSymbolEvent2 | ZASTARALÉ. NEPOUŽÍVEJTE. | |
IDebugInterceptExceptionCompleteEvent2 | DE | Funkce DE byla odeslána při zpracování zachycené výjimky. |
IDebugLoadCompleteEvent2 | DE | Odeslání de po dokončení načítání programu. |
IDebugMessageEvent2 | DE | Odeslaná de, aby integrované vývojové prostředí (IDE) zobrazilo uživateli informační zprávu. |
IDebugModuleLoadEvent2 | DE | De je odeslán při načtení nebo uvolnění modulu. |
IDebugNoSymbolsEvent2 | DE | Signalizuje uživatelské rozhraní ladicího programu sady Visual Studio, aby uživatele upozornilo, že symboly nelze pro spuštěný spustitelný soubor najít. |
IDebugOutputStringEvent2 | DE | Odeslaná de, aby integrované vývojové prostředí (IDE) zobrazilo libovolný řetězec. |
IDebugPortEvents2 | VS, DE | Odesílá se portem za účelem komunikace událostí portu libovolnému naslouchacímu procesu. |
IDebugProcessCreateEvent2 | DE, PS | Odeslání de nebo portem při vytvoření procesu. |
IDebugProcessDestroyEvent2 | DE, PS | Odeslání de nebo portem při zničení procesu. |
IDebugProgramCreateEvent2 | DE, PS | Po vytvoření programu se odešle de nebo port. |
IDebugProgramDestroyEvent2 | DE, PS | Odeslání de nebo portem, když byl program zničen. |
IDebugProgramDestroyEventFlags2 | DE | Umožňuje ladicí modul přepsat výchozí chování uživatelského rozhraní sady Visual Studio při ukončení ladicí relace. |
IDebugProgramNameChangedEvent2 | DE | Odešle se z ladicího modulu (DE) správci ladění relace (SDM), když se název programu změní. |
IDebugPropertyCreateEvent2 | DE | Funkce DE byla odeslána při vytvoření nové vlastnosti (reprezentované IDebugProperty2 rozhraním). |
IDebugPropertyDestroyEvent2 | DE | Odeslaná de, když byla vlastnost zničena. |
IDebugReturnValueEvent2 | DE | Funkce odesílaná de při kroku mimo funkci nebo přes tuto funkci, aby se vrácená hodnota zobrazila správně. |
IDebugSettingsCallback2 | sada VS | Umožňuje ladicí moduly vzdáleně číst nastavení metrik. |
IDebugStepCompleteEvent2 | DE | Odesílaný de, když byl dokončen krok do, přes nebo mimo instrukce. |
IDebugSymbolSearchEvent2 | DE | Odeslaná de indikuje úspěch nebo selhání načítání symbolů pro modul. |
IDebugThreadCreateEvent2 | DE | Odešle de při vytvoření vlákna. |
IDebugThreadDestroyEvent2 | DE | Funkce DE byla odeslána, když bylo vlákno zničeno. |
IDebugThreadNameChangedEvent2 | DE | Odešle de, když vlákno změnilo jeho název. |
Výrazy
Tato rozhraní představují výrazy, které se mají vyhodnotit v konkrétním kontextu.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugExpression2 | DE | Představuje výraz, který se má vyhodnotit. Získáno z IDebugExpressionContext2 rozhraní. |
IDebugExpressionContext2 | DE | Představuje kontext, ve kterém je výraz vyhodnocen. Získáno z rozhraní IDebugStackFrame2 . |
IDebugExpressionEvaluationCompleteEvent2 | DE | Po dokončení vyhodnocení asynchronního výrazu je odesláno de. |
Memory (Paměť)
Tato rozhraní představují posloupnosti bajtů v paměti.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugMemoryBytes2 | DE | Představuje posloupnost bajtů v paměti, ze které lze číst nebo zapisovat do. |
IDebugMemoryContext2 | DE | Představuje umístění v paměti posloupnosti bajtů. |
Moduly
Tato rozhraní představují modul, který odpovídá spustitelnému souboru nebo souboru .DLL.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugModule2 | DE | Představuje jeden spustitelný soubor nebo knihovnu DLL. |
IDebugModule3 | DE | Představuje IDebugModule2, který podporuje symboly. |
IDebugModuleLoadEvent2 | DE | De je odeslán při načtení nebo uvolnění modulu. |
IDebugSourceServerModule | DE | Představuje informace o zdrojovém serveru obsažené v souboru PDB. |
IEnumDebugModules2 | DE | Představuje výčet nad sadou modulů, které jsou známé IDebugProgram2. |
Porty
Tato rozhraní představují porty a dodavatele portů.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugDefaultPort2 | VS, PS | Představuje výchozí port na místním počítači. |
IDebugFirewallConfigurationCallback2 | sada VS | Povolí ladicí modul, který pomocí modelu DCOM požádá uživatelské rozhraní sady Visual Studio, aby se ujistil, že brána firewall nebude blokovat vzdálené ladění. |
IDebugPort2 | VS, PS | Představuje port. |
IDebugPortEvents2 | PS | Odesílá se portem za účelem komunikace událostí portu libovolnému naslouchacímu procesu. |
IDebugPortEx2 | PS | Představuje port, který může spouštět a ukončovat procesy. |
IDebugPortNotify2 | PS | Slouží k registraci a zrušení registrace programů pomocí portu; umožňuje portu sledovat aktuálně laděné programy. |
IDebugPortPicker | PS | Představuje přizpůsobené uživatelské rozhraní pro výběr portu. |
IDebugPortRequest2 | sada VS | Představuje požadavek na port, ze kterého bude vytvořen nebo umístěn nový port. |
IDebugPortSupplier2 | PS | Představuje dodavatele portů. |
IDebugPortSupplier3 | PS | Představuje dodavatele portů, který může uchovávat (uložit na disk) informace o portech, které vytvořil. |
IDebugPortSupplierDescription2 | PS | Umožňuje uživatelskému rozhraní sady Visual Studio zobrazit text v části Informace o přenosu dialogového okna Připojit k procesu . |
IDebugWindowsComputerPort2 | sada VS | Umožňuje dotazování na informace o cílovém počítači. |
IEnumDebugPorts2 | VS, PS | Představuje výčet nad sadou portů. |
IEnumDebugPortSuppliers2 | sada VS | Představuje výčet sady dodavatelů portů. |
Procesy
Tato rozhraní představují procesy, jeden spustitelný soubor, který obsahuje jeden nebo více programů.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugProcess2 | PS, DE | Představuje proces spuštěný v počítači. |
IDebugProcess3 | PS, DE | Představuje proces, který aktivně podporuje ladění (používá se k nahrazení metod Step, Continue a Execute v rozhraní IDebugProgram2 ). |
IDebugProcessCreateEvent2 | DE, PS | Odeslání de nebo portem při vytvoření procesu. |
IDebugProcessDestroyEvent2 | DE, PS | Odeslání de nebo portem při zničení procesu. |
IDebugProcessEx2 | PS | Představuje proces, který musí sledovat, která relace je k ní připojena. |
IEnumDebugProcesses2 | PS | Představuje výčet sady procesů na portu. |
Programy
Tato rozhraní představují programy, logické jednotky provádění, které nemusí nutně odpovídat fyzickému spustitelnému souboru nebo modulu.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugEngineProgram2 | DE | Představuje IDebugProgram2, který musí pracovat na koncertě s jinými programy, které jsou laděny současně. |
IDebugProgram2 | DE, PS | Představuje logickou jednotku provádění. |
IDebugProgramCreateEvent2 | DE, PS | Po vytvoření programu se odešle de nebo port. |
IDebugProgramDestroyEvent2 | DE, PS | Odeslání de nebo portem, když byl program zničen. |
IDebugProgramEngines2 | DE, PS | Představuje IDebugProgramNode2, který lze zpracovat několika ladicí moduly. |
IDebugProgramEx2 | PS | Představuje IDebugProgram2, který musí být schopen sledovat, která relace je k němu připojena. |
IDebugProgramHost2 | DE, PS | Představuje IDebugProgram2, který může vrátit informace o procesu, ve kterém je spuštěn. |
IDebugProgramNode2 | DE, PS | Představuje program, který lze ladit. |
IDebugProgramNodeAttach2 | DE, PS | Umožňuje, aby byl programový uzel upozorněn na pokus o připojení k přidruženému programu. |
IDebugProgramProvider2 | DE | Poskytuje způsob, jak SDM dotazovat de o programech kontrolovaných tímto de. |
IDebugProgramPublisher2 | sada VS | DE slouží k registraci programů v nástroji SDM, aby ukázaly, že se ladí. |
IDebugProviderProgramNode2 | DE, PS | Představuje IDebugProgramNode2, který může zařazení rozhraní přes hranice vlákna nebo procesu. |
IEnumDebugPrograms2 | DE, PS | Představuje výčet sady programů. |
Vlastnosti
Tato rozhraní představují vlastnosti, hodnotu přidruženou k určitému kontextu, obvykle výsledek vyhodnocení výrazu.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugCustomViewer | EE | Představuje IDebugProperty2, který může zobrazit jeho hodnotu vlastním způsobem. |
IDebugProperty2 | DE | Představuje hodnotu rámce zásobníku, dokumentu nebo výsledku vyhodnocení výrazu. |
IDebugProperty3 | DE | Představuje IDebugProperty2, který podporuje libovolně dlouhé řetězce. |
IDebugPropertyCreateEvent2 | DE | Byla odeslána de při vytvoření nové vlastnosti (reprezentované IDebugProperty2 rozhraní). |
IDebugPropertyDestroyEvent2 | DE | Odeslaná de, když byla vlastnost zničena. |
IDebugReference2 | DE | Představuje odkaz na vlastnost, která může existovat mimo jakýkoli konkrétní rámec zásobníku. |
IEnumDebugPropertyInfo2 | DE | Představuje výčet nad sadou DEBUG_PROPERTY_INFO struktur, které popisují proměnné, registry, parametry a výrazy. |
IEnumDebugReferenceInfo2 | DE | Představuje výčet nad sadou DEBUG_REFERENCE_INFO struktur. |
Bloky zásobníku
Tato rozhraní představují rámec zásobníku, kontext, ve kterém došlo k zarážce nebo výjimce.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugStackFrame2 | DE | Představuje kontext, ve kterém došlo k zarážce nebo výjimce. |
IDebugStackFrame3 | DE | Představuje IDebugStackFrame2, který dokáže zpracovat zachycené výjimky. |
IEnumCodePaths2 | DE | Představuje výčet nad sadou CODE_PATH struktur, které určují posloupnost volání funkce použitá k doručení do konkrétního rámce zásobníku. |
IEnumDebugFrameInfo2 | DE | Představuje výčet nad sadou struktur FRAMEINFO , které popisují rámce zásobníku. |
Vlákna
Tato rozhraní představují vlákna a jejich přidružené události.
Rozhraní | Implementoval | Popis |
---|---|---|
IDebugThread2 | DE | Představuje vlákno provádění. |
IDebugThreadCreateEvent2 | DE | Odešle de při vytvoření vlákna. |
IDebugThreadDestroyEvent2 | DE | Funkce DE byla odeslána, když bylo vlákno zničeno. |
IDebugThreadNameChangedEvent2 | DE | Odešle de, když vlákno změnilo jeho název. |
IEnumDebugThreads2 | DE | Představuje výčet nad sadou vláken. |
Vizualizéry typů
Tato rozhraní poskytují podporu vizualizérů typů. Tato rozhraní jsou obvykle implementována vyhodnocovačem výrazů.
Rozhraní | Implementoval | Popis |
---|---|---|
IEEDataStorage | EE | Představuje pole bajtů, které má být prezentováno vizualizéru typu. |
IPropertyProxyEESide | EE | Poskytuje metody pro získání přístupu k datům, která se mají předat vizualizéru typů. |
IPropertyProxyProvider | EE | Představuje vlastnost, která poskytuje přístup k IPropertyProxyESide implementace. |