DkmProcess Třída

Definice

DkmProcess představuje cílový proces, který se ladí. Ladicí program ladí procesy, takže se jedná o základní jednotku ladění. DkmProcess může představovat systémový proces nebo virtuální proces, například minidumps.

public ref class DkmProcess : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("a6eaf62b-6db1-4f38-6359-46e9262d7a0a")]
public class DkmProcess : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("a6eaf62b-6db1-4f38-6359-46e9262d7a0a")>]
type DkmProcess = class
    inherit DkmDataContainer
Public Class DkmProcess
Inherits DkmDataContainer
Dědičnost
Dědičnost
Atributy

Vlastnosti

BaseDebugMonitorId

DkmBaseDebugMonitorId identifikuje základní ladicí monitor použitý ke kontrole a řízení laděného procesu. Například DkmBaseDebugMonitorId.WindowsProcess se používá pro procesy laděné rozhraním API ladění Win32 a DkmBaseDebugMonitorId.DumpFile se používá pro minidumps.

Connection

To představuje připojení mezi monitorováním a integrovaným vývojovém prostředím. Může se jednat buď o místní připojení, pokud monitor běží ve stejném procesu jako integrované vývojové prostředí, nebo se může jednat o vzdálené připojení. V procesu monitorování existuje pouze jedno připojení.

DebugLaunchSettings

Nastavení zadaná během operace spuštění ladění ze systému projektu nebo jiného volajícího LaunchDebugTargets (nebo různých jiných rozhraní API pro spuštění ladění).

EngineSettings

Obsahuje nastavení ladění pro celou relaci. Existuje jedna instance tohoto objektu na identifikátor GUID modulu (příklad: jedna instance pro COMPlusOnlyEng2, jedna instance pro COMPlusNativeEng).

IsAppPackage

Hodnota True, pokud proces patří do balíčku aplikace pro Windows Store nebo Windows Phone balíčku aplikace.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IsMultiArch

True, pokud proces obsahuje kód z více architektur.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

IsNativeDebuggingEnabled

Pokud je hodnota true, ladicí program se pokusí ladit nativní kód – zastaví se při nativních výjimkách, načte symboly, zobrazí nativní rámce v zásobníku volání, vytvoří vazbu a přístup k zarážkám a ponechá nativní vlákna zastavená, když jsou ve stavu přerušení.

IsUnloaded

Vrátí hodnotu true, pokud byla pro tento objekt vyvolána událost unloaded (příklad: DkmThread::Unload je volána) nebo pokud byl objekt uzavřen. Mějte na paměti, že při kontrole tohoto stavu je potřeba střídmět, protože bez synchronizace nemusí být vrácený stav po přečtení přesný.

(Zděděno od DkmDataContainer)
LivePart

[Volitelné] Informace relevantní pro spuštěný proces. Například tato část NEBUDE k dispozici pro minidumps.

Path

Úplná cesta ke spouštěcímu souboru procesu.

StartMethod

StartMethod popisuje, jak ladicí modul spustil ladění tohoto procesu.

SystemInformation

Obsahuje informace o systému počítače, ve kterém je tento proces spuštěn. Pokud tento proces běží v rámci wow (32bitová emulace v 64bitovém operačním systému), budou tyto informace určené pro 32bitový subsystém, nikoli pro 64bitový subsystém.

UniqueId

Identifikátor GUID, který jednoznačně identifikuje tento objekt procesu. Tato hodnota guid je stejná jako identifikátor GUID vystavený ve vrstvě SDM (IDebugProcess2::GetProcessId) a ve vrstvě automatizace.

Metody

AbortingFuncEvalExecution(DkmFuncEvalFlags)

AbortingFuncEvalExecution je volána monitorování ladění modulu runtime při přerušení vyhodnocení funkce. AbortingFuncEvalExecution aktualizuje vnitřní stav objektu DkmProcess tak, aby zastavující správce událostí umožnil dvě události zastavení: zarážku dokončení vyhodnocení funkce nebo asynchronní přerušení.

AddExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmAddExceptionTriggerAsyncResult>)

Přidá trigger výjimky, aby se události ExceptionTriggerHit odeslaly při splnění triggeru výjimky.

Pokud už je pro tuto řazenou kolekci členů {SourceId, DkmExceptionTrigger} definovaná výjimka, upraví se stávající aktivační událost pomocí nového nastavení. Pokud například komponenta definuje trigger, který se má zastavit při vyvolání výjimky porušení přístupu, a později nastaví trigger tak, aby se aktivoval, když se neošetří jakákoli výjimka Win32, aktivační událost narušení přístupu se odebere.

Tato metoda připojí novou pracovní položku k zadanému pracovnímu seznamu a vrátí se po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající obdrží oznámení o dokončení žádosti prostřednictvím rutiny dokončení.

AddExceptionTrigger(Guid, DkmExceptionTrigger)

Přidá trigger výjimky, aby se události ExceptionTriggerHit odeslaly při splnění triggeru výjimky.

Pokud už je pro tuto řazenou kolekci členů {SourceId, DkmExceptionTrigger} definovaná výjimka, upraví se stávající aktivační událost pomocí nového nastavení. Pokud například komponenta definuje trigger, který se má zastavit při vyvolání výjimky porušení přístupu, a později nastaví trigger tak, aby se aktivoval, když se neošetří jakákoli výjimka Win32, aktivační událost narušení přístupu se odebere.

AllocateVirtualMemory(UInt64, Int32, Int32, Int32)

Zarezervuje nebo potvrdí oblast paměti v rámci virtuálního adresního prostoru cílového procesu. Funkce inicializuje paměť přidělenou na nulu, pokud nepoužívá MEM_RESET. Další informace naleznete v tématu VirtualAlloc Win32 API na webu MSDN.

AsyncBreak(Boolean)

Tato metoda řekne ladicím monitorům, aby asynchronně přerušily provádění procesu ladění. Událost AsyncBreakComplete se odešle po dokončení operace.

BeforeStopDebugging()

Obslužná rutina, která je upozorněna před ukončením nebo odpojením cílového procesu.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ClearAllGPUMemoryAccessWarnings()

Zakáže všechna upozornění aktivního přístupu k paměti GPU.

ClearExceptionTriggers(Guid)

Odebere všechny triggery výjimek, které byly nastaveny s konkrétním SourceId. Jakmile se tato metoda vrátí, triggery výjimky již nevyvolá ExceptionTriggerHit události. Triggery výjimek se automaticky vymažou při zavření objektu DkmProcess.

Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, Boolean, Boolean, DkmProcess+Live, DkmDataItem)

Vytvoří nový objekt procesu. Tato metoda je volána ze základního monitorování ladění ve vlákně události jako součást zpracování IDkmStartDebuggingOperations.AttachToProcess nebo IDkmStartDebuggingOperations.ResumeDebuggedProcess.

Tato metoda odešle událost ProcessCreate.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, Boolean, DkmProcess+Live, DkmDataItem)

Vytvoří nový objekt procesu. Tato metoda je volána ze základního monitorování ladění ve vlákně události jako součást zpracování IDkmStartDebuggingOperations.AttachToProcess nebo IDkmStartDebuggingOperations.ResumeDebuggedProcess.

Tato metoda odešle událost ProcessCreate.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

Toto rozhraní API bylo zavedeno v sadě Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, DkmProcess+Live, DkmDataItem)

Vytvoří nový objekt procesu. Tato metoda je volána ze základního monitorování ladění ve vlákně události jako součást zpracování IDkmStartDebuggingOperations.AttachToProcess nebo IDkmStartDebuggingOperations.ResumeDebuggedProcess.

Tato metoda odešle událost ProcessCreate.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

CreateNativeInstructionAddress(UInt64)

Přeloží instrukce procesoru na nativní modul a vrátí DkmNativeInstructionAddress představující tuto instrukce procesoru. Pokud ukazatel na instrukce není v modulu, vrátí se místo toho objekt DkmUnknownInstructionAddress.

Detach()

Tato metoda je volána, aby se monitor odpojil od cílového procesu. Tím se aktivuje událost ProcessExit, která se odešle do vlákna události.

Disassemble(DkmInstructionAddress, UInt32)

V procesu ladění přeložíte rozsah adres.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

FindNativeModule(UInt64)

Přeloží virtuální adresu na nativní modul. Pokud virtuální adresa není v modulu, vrátí se null (S_FALSE vrátit kód v nativním prostředí). Zakázané moduly se nevrátí.

FindNativeModule(UInt64, Boolean)

Přeloží virtuální adresu na nativní modul. Pokud virtuální adresa není v modulu, vrátí se null (S_FALSE vrátit kód v nativním prostředí).

FindProcess(Guid)

Vyhledejte objekt DkmProcess. Pokud není k dispozici žádný objekt s daným vstupním klíčem, FindProcess selže.

FindProcessSnapshot(UInt32)

Vyhledejte prvek DkmProcessSnapshot v tomto DkmProcess. Pokud není k dispozici žádný prvek s daným vstupním klíčem, FindProcessSnapshot selže.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

FindRuntimeInstance(DkmRuntimeInstanceId)

Vyhledejte prvek DkmRuntimeInstance v tomto DkmProcess. Pokud není k dispozici žádný prvek s daným vstupním klíčem, funkce FindRuntimeInstance selže.

FindSystemThread(Int32)

Vyhledejte prvek DkmThread v tomto DkmProcess. Pokud není k dispozici žádný prvek se zadaným vstupním klíčem, FindSystemThread selže. Pokud se najde objekt, bude vždy obsahovat část Systém.

FreeVirtualMemory(UInt64, Int32, Int32)

Uvolní nebo dekomisuje oblast paměti v rámci virtuálního adresního prostoru cílového procesu. Další informace naleznete v tématu VirtualFree Win32 API v MSDN.

GetComputeKernels()

GetComputeKernels vytvoří výčet DkmGPUComputeKernel elementů tohoto DkmProcess objektu.

GetDataItem<T>()

Získá instanci T, která byla přidána do této instance kontejneru. Pokud tento kontejner neobsahuje T, vrátí tato funkce hodnotu null.

(Zděděno od DkmDataContainer)
GetDumpExePath()

Vrátí cestu k primárnímu spustitelnému souboru v laděné minidump.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetDumpSaveTime()

Vrátí čas uložení minidump.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10).

GetEndingTimeContext()

Získá časový kontext představující koncovou pozici trasování.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

GetGPUBreakpointBehavior()

Získejte chování zarážky procesu.

GetHandleCount()

Získá počet aktivních popisovačů v procesu.

GetInstructionAddress(DkmInstructionAddress, Int32)

Vrátí adresu instrukce kth vzhledem k počáteční adrese. U instrukčních sad s konstantní délkou se jedná o jednoduchý aritmetický postup. Pro instrukční sady s proměnlivou délkou se k získání této adresy vyžaduje zpětný překlad.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

GetInstructionAddress(DkmWorkList, DkmInstructionAddress, Int32, DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>)

Vrátí adresu instrukce kth vzhledem k počáteční adrese. U instrukčních sad s konstantní délkou se jedná o jednoduchý aritmetický postup. Pro instrukční sady s proměnlivou délkou se k získání této adresy vyžaduje zpětný překlad.

Tato metoda připojí novou pracovní položku k zadanému pracovnímu seznamu a vrátí se po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající obdrží oznámení o dokončení žádosti prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

GetInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>)

Přeloží adresu CPU InstructionAddress na DkmInstructionAddress.

Tato metoda připojí novou pracovní položku k zadanému pracovnímu seznamu a vrátí se po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající obdrží oznámení o dokončení žádosti prostřednictvím rutiny dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty IDE (úroveň > komponenty 100 000).

GetManagedStowedException()

Získejte spravovanou uloženou výjimku z výpisu paměti. Pokud neexistuje žádná spravovaná uložená výjimka, vrátí se S_FALSE.

Toto rozhraní API bylo představeno v sadě Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3).

GetMemoryReadTime(UInt64, UInt32, DkmMemoryTimeFlags)

Volána ke zjištění, jaký čas vzhledem k aktuálnímu času procesu je hodnota z paměti čtení přeložena.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

GetNativeRuntimeInstance()

Poskytuje přístup k DkmRuntimeInstance, což je pro kód naïve v rámci procesu. Pro proces existuje přesně jedna instance DkmRuntimeInstance.

GetNativeStowedException()

Získejte nativní uloženou výjimku z výpisu paměti. Pokud neexistuje nativní uložená výjimka, vrátí se S_FALSE.

Toto rozhraní API bylo představeno v sadě Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3).

GetPendingBreakpoints()

GetPendingBreakpoints vytvoří výčet DkmPendingBreakpoint elementů tohoto DkmProcess objektu.

GetProcesses()

GetProcesses vytvoří výčet všech vytvořených objektů DkmProcess.

GetProcessExecuteDirection()

Získá hodnotu označující, zda proces běží vpřed nebo v opačném směru. Tato metoda je implementována pouze pro procesy cestování v čase.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

GetProcessorArchitecture(UInt64, DkmProcessorArchitecture)

Určuje architekturu pro danou adresu.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

GetProcessSnapshots()

GetProcessSnapshots vytvoří výčet DkmProcessSnapshot elementů tohoto DkmProcess objektu.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

GetRunningTime()

Získá počet cyklů hodin, které ladicí proces byl spuštěn od posledního zavolání ResetRunningTime().

GetRuntimeFunctionResolutionRequests()

GetRuntimeFunctionResolutionRequests vytvoří výčet prvků DkmRuntimeFunctionResolutionRequest tohoto objektu DkmProcess.

GetRuntimeInstances()

GetRuntimeInstances vytvoří výčet prvků DkmRuntimeInstance tohoto objektu DkmProcess.

GetSerializedProcessInfo()

Získejte informace o serializovaném procesu.

Toto rozhraní API bylo představeno v sadě Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2).

GetSourceSnapshot()

Získejte objekt zdrojového snímku pro laděný proces. Laděný proces musí představovat snímky.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

GetStowedExceptions()

Získejte dočasné výjimky z výpisu paměti.

Toto rozhraní API bylo představeno v sadě Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3).

GetSystemThreads()

Poskytuje seznam aktivních systémových vláken v procesu. Vlákna, která nejsou systémová vlákna (DkmThread::System má hodnotu null) nebo která byla uvolněna, nebudou v této kolekci přítomna.

GetTargetCompositionServices(DkmTargetCompositionScenario, Object)

Získá IDebugServiceManager pro odpovídající scénář, který lze použít pro přístup k cílové složení založené rozšíření.

Omezení umístění: Rozhraní cílového složení nelze zařaďovat na počítač, ale je bezpečné je používat, pokud je k dispozici.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 5 (DkmApiVersion.VS16Update5).

GetThreads()

GetThreads vytvoří výčet prvků DkmThread tohoto DkmProcess objektu.

InvisibleWriteMemory(UInt64, Byte[])

Zapsat paměť do cílového procesu, ale skrýt zápis z volání ReadMemory. Toto rozhraní API se dá použít k opravě instrukcí nebo dat v rámci cílového procesu za účelem implementace funkcí ladicího programu. Než dojde k přenosu dat, systém ověří, že všechna data v základní adrese a paměti zadané velikosti jsou přístupná pro přístup pro zápis, a pokud nejsou přístupná, funkce vyvolá chybu E_INVALID_MEMORY_ADDRESS.

IsLoadComplete()

Vrátí hodnotu true, pokud se po odeslání všech počátečních načtení modulu nebo vytvoření vlákna pro všechny moduly runtime, které jsou přítomné při zahájení procesu ladění. Všimněte si, že tato definice se může lišit od definice rozhraní WIN32 Debug API pro dokončené načtení, protože jiné instance modulu runtime mohou vyžadovat další čas k načtení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2).

IsStopped()

Tato metoda umožňuje komponentě určit, zda je proces považován za zastavený dispečerem. Tato metoda nemusí být volána z metody rozhraní, která vyžaduje zastavení cílového procesu, ale může být užitečná během operací, které mohou být volána z režimu spuštění.

LocateBinary(String, String, String, UInt32, UInt32)

Tato metoda vyhledá na místním disku a všech nakonfigurovaných serverech symbolů binární soubor, který odpovídá parametrům. Vrátí se cesta k tomuto souboru na místním disku. Pokud byl soubor na serveru symbolů, stáhne se do mezipaměti a vrátí se místní cesta.

OnAsyncBreakComplete(DkmAsyncBreakStatus, DkmThread)

Vytvořte událost AsyncBreakComplete. Součásti, které implementují rozhraní jímky událostí, obdrží oznámení o události. Tato metoda zařadí událost do fronty a ovládací prvek se okamžitě vrátí volajícímu.

OnEntryPoint(DkmThread)

Vytvořte událost EntryPoint. Součásti, které implementují rozhraní jímky událostí, obdrží oznámení o události. Tato metoda zařadí událost do fronty a ovládací prvek se okamžitě vrátí volajícímu.

OnHiddenEntryPoint(DkmThread)

Vyvolat HiddenEntryPoint událost. Součásti, které implementují rozhraní jímky událostí, obdrží oznámení o události. Tato metoda zařadí událost do fronty a ovládací prvek se okamžitě vrátí volajícímu.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

OnInstructionPatchInserted(UInt64, Byte[])

Metoda volaná monitorováním základního ladění informovat ostatní komponenty, že instrukční paměť cílového procesu byla změněna. V současné době se používá pouze pro vložení zarážky.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

OnInstructionPatchRemoved(UInt64, Byte[])

Metoda volaná základním monitorováním ladění, aby informovala ostatní komponenty, že instrukční paměť cílového procesu byla obnovena do původního stavu. V současné době se používá pouze k odebrání zarážky.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

OnLoadComplete()

Tato metoda je volána základní ladicí monitor procesu vyvolat LoadComplete událost. LoadComplete se vydává po vytvoření objektů DkmModuleInstance pro počáteční sadu modulů v procesu a obecně byla vytvořena také počáteční sada vláken.

Událost dokončení načtení může být odložena monitorováním ladění modulu runtime pomocí DkmLoadCompleteEventDeferral.Add. V takovém případě se tato metoda okamžitě dokončí. Jinak tato metoda odešle událost všem komponentám, které implementují rozhraní synchronizace událostí. Ovládací prvek se vrátí, jakmile budou oznámeny všechny komponenty.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

OnProcessSnapshotAdded(DkmProcessSnapshot)

Obslužná rutina, která je upozorněna po pořízení snímku procesu pro daný proces.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

OnProcessSnapshotRemoved(DkmProcessSnapshot)

Obslužná rutina, která je upozorněna po odebrání snímku procesu z daného procesu.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

OnTraceTimeContextSet(DkmTraceTimeContext, DkmTraceTimeContext, DkmTraceTimeContext, DkmThread)

Vyvolání události TraceTimeContextSet Součásti, které implementují rozhraní jímky událostí, obdrží oznámení o události. Ovládací prvek se vrátí, jakmile budou oznámeny všechny komponenty.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

Toto rozhraní API bylo představeno v sadě Visual Studio 16 Update 2 (DkmApiVersion.VS16Update2).

QueryPerformanceCounters(DkmWorkList, DkmCompletionRoutine<DkmPerformanceCountersAsyncResult>)

Asynchronní metoda pro získání časování dat z IDkmPerformanceMeasurementDispatcherService shromážděné z událostí vygenerovaných moduly runtime v procesu. To se nazývá asynchronně, protože získání režie ladicího programu může být velmi nákladné.

Tato metoda připojí novou pracovní položku k zadanému pracovnímu seznamu a vrátí se po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající obdrží oznámení o dokončení žádosti prostřednictvím rutiny dokončení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ReadMemory(UInt64, DkmReadMemoryFlags, Byte[])

Načtěte paměť cílového procesu.

ReadMemory(UInt64, DkmReadMemoryFlags, Void*, Int32)

Načtěte paměť cílového procesu.

ReadMemoryString(UInt64, DkmReadMemoryFlags, UInt16, Int32)

Načte řetězec ukončený hodnotou null z paměti cílového procesu procesu. Dá se použít ke čtení řetězců ANSI nebo Unicode (UTF-8, UTF-16 nebo UTF-32).

RemoveDataItem<T>()

Odeberte z tohoto kontejneru instanci T. Obvykle není nutné volat tuto metodu, protože kontejner dat se při zavření objektu automaticky vyprázdní.

(Zděděno od DkmDataContainer)
RemoveExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmRemoveExceptionTriggerAsyncResult>)

Odebere dříve nastavený trigger výjimky. Všimněte si, že fáze zpracování se ignoruje a nemusí odpovídat původně zadané hodnotě.

Tato metoda připojí novou pracovní položku k zadanému pracovnímu seznamu a vrátí se po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající obdrží oznámení o dokončení žádosti prostřednictvím rutiny dokončení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

RemoveExceptionTrigger(Guid, DkmExceptionTrigger)

Odebere dříve nastavený trigger výjimky. Všimněte si, že fáze zpracování se ignoruje a nemusí odpovídat původně zadané hodnotě.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

RemoveSnapshotById(UInt32)

Odeberte snímky procesu pro tento proces.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

RemoveSnapshots()

Odeberte snímky procesu pro tento proces.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

SearchRuntimeFunctionTable(UInt64, UInt64)

Metoda vrátí obsah IMAGE_RUNTIME_FUNCTION_ENTRY pro adresu, pokud je to možné. Pro vyhledávání statických položek by volající měli volat ekvivalentní metodu na DkmNativeModuleInstance.

SetCoreDumpParserTargetCompositionServices(Object)

Získá IDebugServiceManager pro základní scénář parsování souborů, který lze použít pro přístup k cílové složení založené rozšíření.

Omezení umístění: Rozhraní cílového složení nelze zařaďovat na počítač, ale je bezpečné je používat, pokud je k dispozici.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8).

SetDataItem<T>(DkmDataCreationDisposition, T)

Do kontejneru dat umístěte novou položku.

(Zděděno od DkmDataContainer)
SetDetachUnavailable(Int32)

Volá komponenta k označení, že v procesu není povoleno odpojení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

SetGPUMemoryAccessWarning(Int32, Boolean)

Povolí nebo zakáže konkrétní upozornění na přístup k paměti GPU.

SetProcessExecuteDirection(DkmProcessExecuteDirection)

Nastaví směr provádění procesů. Směr může být vpřed nebo vzad. Tato metoda je implementována pouze pro procesy cestování v čase.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8).

SetRunningTime(UInt64)

Nastaví čítač doby běhu na zadanou hodnotu.

StoppingEventProcessingBegin(Boolean)

StoppingEventProcessingBegin je volána základní ladicí monitor ve vlákně události. Upozorní dispečera, že cílový proces je zastavený a mohlo dojít k události zastavení. Například základní monitorování ladění Win32 volá toto, kdykoli obdrží EXCEPTION_DEBUG_EVENT z operačního systému. Tato metoda aktualizuje vnitřní stav objektu DkmProcess, aby bylo možné odesílat zastavování událostí.

StoppingEventProcessingContinue()

StoppingEventProcessingContinue je volána základní ladicí monitor ve vlákně události. Tato metoda je volána po vydání všech událostí zastavení v aktuální dávce (např. s názvem DkmRuntimeBreakpoint.OnHit). Tato metoda bude upozorňovat komponenty, které mají implementované rozhraní pro oznámení událostí zastavení, a zavolá do správce provádění, aby se proces dostal do bezpečného bodu. Základní monitorování ladění musí volat StoppingEventProcessingContinue po každém úspěšném volání StoppingEventProcessingBegin. základní monitorování ladění poté, co vystavil všechny události zastavení.

Základní monitorování ladění by mělo být očekáváno, že bude opakovaně volána, dokud je v této metodě.

TakeSnapshot(UInt64, DkmThread)

Pořiďte snímek ladicího prostředí.

Omezení umístění: Server.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

TakeSnapshotWithException(UInt64, DkmExceptionInformation)

Pořiďte snímek ladicího prostředí.

Omezení umístění: Server.

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

Terminate(Int32)

Tato metoda je volána, aby monitorování ukončilo cílový proces. Tím se aktivuje událost ProcessExit, která se odešle do vlákna události.

TryLocateBinary(String, String, String, UInt32, UInt32)

Volána k zahájení hledání binárních souborů, jejichž image se možná dříve nenašly nebo se nepokusily o načtení. Tato metoda vyhledá na místním disku a všech nakonfigurovaných serverech symbolů binární soubor, který odpovídá parametrům. Vrátí se cesta k tomuto souboru na místním disku. Pokud byl soubor na serveru symbolů, stáhne se do mezipaměti a vrátí se místní cesta.

Toto rozhraní API bylo představeno v sadě Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1).

Unload(Int32)

ProcessExit je odeslán dispečer, když DkmProcess::Unload je vyvolána monitorem.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

VolatileReadMemory(UInt64, Byte[])

Čtení paměti z cílového procesu Tato metoda se liší od ReadMemory v tom, že tuto metodu lze volat kdykoli (nejen při zastavení cíle) a ladicí program se nebude pokoušet uložit výsledek této operace do mezipaměti.

VolatileReadMemory(UInt64, Void*, Int32)

Čtení paměti z cílového procesu Tato metoda se liší od ReadMemory v tom, že tuto metodu lze volat kdykoli (nejen při zastavení cíle) a ladicí program se nebude pokoušet uložit výsledek této operace do mezipaměti.

VolatileWriteMemory(UInt64, Byte[])

Zapište do paměti cílového procesu. Tato metoda se liší od WriteMemory v tom, že tuto metodu lze volat kdykoli (nejen při zastavení cíle) a ladicí program se nepokusí uložit výsledek této operace do mezipaměti. Pokud se paměť nedá zapsat do, vyvolá se chyba E_INVALID_MEMORY_ADDRESS. Vzhledem k tomu, že k zápisu do paměti může dojít z režimu spuštění, může k tomuto selhání dojít po zahájení operace kopírování, což může vést k poškození paměti v cílovém procesu. Z tohoto důvodu se tato funkce musí používat opatrně a selhání můžou být závažná.

WaitForPausingEventProcessingComplete(Int32, Boolean)

Tuto metodu lze volat z komponenty monitorování, aby počkala na jakékoli zastavení s pozastavením zpracování událostí, stejně jako jakékoli zpracování IDkmProcessContinueNotification, které právě probíhá k dokončení. Mimo jiné to může být užitečné při pokusu o přerušení funk-evals tím, že se ujistíte, že cílový proces má příležitost ke spuštění. Upozorňujeme, že tato metoda neposkytuje žádnou záruku, že nedojde k dalšímu pozastavení událostí okamžitě, takže kód by neměl předpokládat, že po návratu z tohoto rozhraní API nedochází k zastavení zpracování událostí.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

Toto rozhraní API bylo představeno v sadě Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

WriteDump(DkmDumpType, String, DkmThread)

Tato metoda zapíše výpis paměti procesu do zadané cesty.

WriteMemory(UInt64, Byte[])

Zapíše paměť do cílového procesu. Než dojde k přenosu dat, systém ověří, že všechna data v základní adrese a paměti zadané velikosti jsou přístupná pro přístup pro zápis, a pokud nejsou přístupná, funkce vyvolá chybu E_INVALID_MEMORY_ADDRESS.

Platí pro