DkmProcess Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
DkmProcess representa um processo de destino que está sendo depurado. O depurador debugs processa, portanto, essa é a unidade básica de depuração. Um DkmProcess pode representar um processo do sistema ou um processo virtual, como minidespejos.
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
- Herança
- Atributos
Propriedades
| BaseDebugMonitorId |
DkmBaseDebugMonitorId identifica o monitor de depuração base usado para inspecionar e controlar o processo depurado. Por exemplo, DkmBaseDebugMonitorId. WindowsProcess é usado para processos depurados pela API de depuração do Win32 e DkmBaseDebugMonitorId. dumpfile é usado para minidespejos. |
| Connection |
Isso representa uma conexão entre o monitor e o IDE. Pode ser uma conexão local se o monitor estiver em execução no mesmo processo que o IDE, ou pode ser uma conexão remota. No processo de monitor, há apenas uma conexão. |
| DebugLaunchSettings |
Configurações fornecidas durante uma operação de depuração de início de um sistema de projeto ou outro chamador de LaunchDebugTargets (ou várias outras APIs de depuração de início). |
| EngineSettings |
Contém as configurações de depuração em toda a sessão. Há uma instância desse objeto por GUID de mecanismo (ex: uma instância para COMPlusOnlyEng2, uma instância para COMPlusNativeEng). |
| IsAppPackage |
True se o processo pertencer a um pacote do aplicativo da Windows Store ou Windows Phone pacote do aplicativo. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). |
| IsNativeDebuggingEnabled |
Quando true, o depurador tentará depurar o código nativo – ele parará em exceções nativas, carregará os símbolos, exibirá os quadros nativos na pilha de chamadas, os pontos de interrupção de ligação e de clique e deixará os threads nativos interrompidos no estado de interrupção. |
| IsUnloaded |
Retornará true se um evento ' Unloaded ' tiver sido gerado para este objeto (exemplo: DkmThread:: Unload é chamado) ou se o objeto foi fechado. Observe que o cuidado deve ser usado ao verificar esse status como, sem sincronização, o status retornado pode não ser mais preciso na instrução após sua leitura. (Herdado de DkmDataContainer) |
| LivePart |
Adicional Informações relevantes para um processo em execução. Por exemplo, essa parte não estará presente para minidespejos. |
| Path |
Caminho completo para o executável inicial do processo. |
| StartMethod |
StartMethod descreve como o mecanismo de depuração iniciou a depuração desse processo. |
| SystemInformation |
Contém informações sobre o sistema de computador no qual esse processo está sendo executado. Se esse processo estiver sendo executado sob WOW (emulação de 32 bits em um sistema operacional de 64 bits), essas informações serão para o subsistema de 32 bits em vez do subsistema de 64 bits. |
| UniqueId |
O GUID que identifica exclusivamente esse objeto de processo. Esse valor de GUID é o mesmo que o GUID exposto na camada de SDM (IDebugProcess2:: getprocessid) e na camada de automação. |
Métodos
| AbortingFuncEvalExecution(DkmFuncEvalFlags) |
AbortingFuncEvalExecution é chamado pelo monitor de depuração de tempo de execução ao anular uma avaliação de função. AbortingFuncEvalExecution atualizará o estado interno do objeto DkmProcess para que o Gerenciador de eventos de interrupção permita dois eventos de parada por meio de: um ponto de interrupção completo de avaliação de função ou um intervalo assíncrono. |
| AddExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmAddExceptionTriggerAsyncResult>) |
Adiciona um gatilho de exceção para que os eventos ExceptionTriggerHit sejam enviados quando o gatilho de exceção for atendido. Se já houver uma exceção disparada definida para esta tupla {SourceID, DkmExceptionTrigger}, o gatilho existente será modificado com as novas configurações. Por exemplo, se um componente definir um gatilho para parar quando uma exceção de violação de acesso for lançada e posteriormente definir um gatilho para ser acionado quando alguma exceção Win32 ficar sem tratamento, o gatilho de violação de acesso será removido. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. |
| AddExceptionTrigger(Guid, DkmExceptionTrigger) |
Adiciona um gatilho de exceção para que os eventos ExceptionTriggerHit sejam enviados quando o gatilho de exceção for atendido. Se já houver uma exceção disparada definida para esta tupla {SourceID, DkmExceptionTrigger}, o gatilho existente será modificado com as novas configurações. Por exemplo, se um componente definir um gatilho para parar quando uma exceção de violação de acesso for lançada e posteriormente definir um gatilho para ser acionado quando alguma exceção Win32 ficar sem tratamento, o gatilho de violação de acesso será removido. |
| AllocateVirtualMemory(UInt64, Int32, Int32, Int32) |
Reserva e/ou confirma uma região de memória dentro do espaço de endereço virtual do processo de destino. A função inicializa a memória que ela atribui a zero, a menos que MEM_RESET seja usado. Para obter informações adicionais, consulte a API do Win32 do VirtualAlloc no MSDN. |
| AsyncBreak(Boolean) |
Esse método informará os monitores de depuração para interromper a execução de forma assíncrona do processo de depuração. Um evento AsyncBreakComplete é enviado após a conclusão da operação. |
| BeforeStopDebugging() |
Manipulador que é notificado antes que o processo de destino seja encerrado ou desanexado. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). |
| ClearAllGPUMemoryAccessWarnings() |
Desabilita todos os avisos de acesso à memória da GPU ativa. |
| ClearExceptionTriggers(Guid) |
Remove todos os gatilhos de exceção que foram definidos com uma SourceID específica. Depois que esse método retornar, os gatilhos de exceção deixarão de gerar eventos ExceptionTriggerHit. Os gatilhos de exceção são automaticamente apagados quando o objeto DkmProcess é fechado. |
| Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, Boolean, DkmProcess+Live, DkmDataItem) |
Cria um novo objeto de processo. Esse método é chamado do monitor de depuração de base no thread de evento como parte do processamento de IDkmStartDebuggingOperations. AttachToProcess ou IDkmStartDebuggingOperations. ResumeDebuggedProcess. Esse método enviará um evento ProcessCreate. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). |
| Create(DkmTransportConnection, String, Guid, DkmStartMethod, DkmEngineSettings, DkmDebugLaunchSettings, DkmSystemInformation, Guid, Boolean, DkmProcess+Live, DkmDataItem) |
Cria um novo objeto de processo. Esse método é chamado do monitor de depuração de base no thread de evento como parte do processamento de IDkmStartDebuggingOperations. AttachToProcess ou IDkmStartDebuggingOperations. ResumeDebuggedProcess. Esse método enviará um evento ProcessCreate. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). |
| CreateNativeInstructionAddress(UInt64) |
Resolve uma instrução de CPU para um módulo nativo e retorna um DkmNativeInstructionAddress para representar essa instrução de CPU. Se o ponteiro de instrução não estiver dentro de um módulo, um objeto DkmUnknownInstructionAddress será retornado em vez disso. |
| Detach() |
Esse método é chamado para instruir o monitor a desanexar do processo de destino. Isso irá disparar um evento ProcessExit a ser enviado no thread do evento. |
| Disassemble(DkmInstructionAddress, UInt32) |
Desmontar um intervalo de endereços no processo de depuração. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). |
| FindNativeModule(UInt64) |
Resolve um endereço virtual para um módulo nativo. Se o endereço virtual não estiver dentro de um módulo, NULL será retornado (S_FALSE código de retorno em nativo). Módulos desabilitados não serão retornados. |
| FindNativeModule(UInt64, Boolean) |
Resolve um endereço virtual para um módulo nativo. Se o endereço virtual não estiver dentro de um módulo, NULL será retornado (S_FALSE código de retorno em nativo). |
| FindProcess(Guid) |
Localizar um objeto DkmProcess. Se nenhum objeto com a chave de entrada fornecida estiver presente, FindProcess falhará. |
| FindProcessSnapshot(UInt32) |
Encontre um elemento DkmProcessSnapshot dentro deste DkmProcess. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindProcessSnapshot falhará. Essa API foi introduzida no Visual Studio 15 atualização 3 (DkmApiVersion. VS15Update3). |
| FindRuntimeInstance(DkmRuntimeInstanceId) |
Encontre um elemento DkmRuntimeInstance dentro deste DkmProcess. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindRuntimeInstance falhará. |
| FindSystemThread(Int32) |
Encontre um elemento DkmThread dentro deste DkmProcess. Se nenhum elemento com a chave de entrada fornecida estiver presente, FindSystemThread falhará. Se um objeto for encontrado, ele sempre conterá a parte ' System '. |
| FreeVirtualMemory(UInt64, Int32, Int32) |
Libera e/ou desconfirma uma região de memória dentro do espaço de endereço virtual do processo de destino. Para obter informações adicionais, consulte a API do Win32 do VirtualFree no MSDN. |
| GetComputeKernels() |
GetComputeKernels enumera os elementos DkmGPUComputeKernel desse objeto DkmProcess. |
| GetDataItem<T>() |
Obtém a instância de ' T' que foi adicionada a esta instância de contêiner. Se esse contêiner não contiver um ' T', essa função retornará NULL. (Herdado de DkmDataContainer) |
| GetDumpExePath() |
Retorna o caminho para o executável primário no minidespejo que está sendo depurado.
|
| GetEndingTimeContext() |
Obtém o contexto de tempo que representa a posição final do rastreamento.
|
| GetGPUBreakpointBehavior() |
Obtenha o comportamento do ponto de interrupção do processo. |
| GetHandleCount() |
Obtém o número de identificadores ativos no processo. |
| GetInstructionAddress(DkmInstructionAddress, Int32) |
Retorna o endereço da instrução enésimo em relação a um endereço inicial. Para conjuntos de instruções de comprimento constante, isso é aritmética simples. Para conjuntos de instruções de comprimento variável, a desmontagem reversa é necessária para obter esse endereço. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). |
| GetInstructionAddress(DkmWorkList, DkmInstructionAddress, Int32, DkmCompletionRoutine<DkmGetRelativeInstructionAddressAsyncResult>) |
Retorna o endereço da instrução enésimo em relação a um endereço inicial. Para conjuntos de instruções de comprimento constante, isso é aritmética simples. Para conjuntos de instruções de comprimento variável, a desmontagem reversa é necessária para obter esse endereço. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). |
| GetInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetInstructionAddressAsyncResult>) |
Resolve um InstructionAddress de CPU para um DkmInstructionAddress. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). |
| GetManagedStowedException() |
Obter a exceção de envidada gerenciada de um despejo. Isso retornará S_FALSE se não houver nenhuma exceção não gerenciada. Essa API foi introduzida no Visual Studio 12 atualização 3 (DkmApiVersion. VS12Update3). |
| GetMemoryReadTime(UInt64, UInt32, DkmMemoryTimeFlags) |
Chamado para descobrir qual hora relativa ao tempo de processo atual, um valor de uma leitura de memória é resolvido de. Essa API foi introduzida no Visual Studio 15 atualização 8 (DkmApiVersion. VS15Update8). |
| GetNativeRuntimeInstance() |
Fornece acesso ao DkmRuntimeInstance, que é para o código ingênua em um processo. Há exatamente um DkmRuntimeInstance para um processo. |
| GetNativeStowedException() |
Obter a exceção de dedevida nativa de um despejo. Isso retornará S_FALSE se não houver nenhuma exceção de devolução nativa. Essa API foi introduzida no Visual Studio 12 atualização 3 (DkmApiVersion. VS12Update3). |
| GetPendingBreakpoints() |
GetPendingBreakpoints enumera os elementos DkmPendingBreakpoint desse objeto DkmProcess. |
| GetProcesses() |
Getprocessors enumera todos os objetos DkmProcess criados. |
| GetProcessExecuteDirection() |
Obtém um valor que indica se o processo está sendo executado na direção posterior ou inversa. Esse método é implementado apenas para processos viajam de tempo. Essa API foi introduzida no Visual Studio 15 atualização 8 (DkmApiVersion. VS15Update8). |
| GetProcessSnapshots() |
GetProcessSnapshots enumera os elementos DkmProcessSnapshot desse objeto DkmProcess. Essa API foi introduzida no Visual Studio 15 atualização 3 (DkmApiVersion. VS15Update3). |
| GetRunningTime() |
Obtém o número de ciclos de relógio que o depurado está em execução desde que ResetRunningTime () foi chamado pela última vez. |
| GetRuntimeFunctionResolutionRequests() |
GetRuntimeFunctionResolutionRequests enumera os elementos DkmRuntimeFunctionResolutionRequest desse objeto DkmProcess. |
| GetRuntimeInstances() |
GetRuntimeInstances enumera os elementos DkmRuntimeInstance desse objeto DkmProcess. |
| GetSourceSnapshot() |
Obtenha o objeto de instantâneo de origem para o processo depurado. O processo depurado deve representar instantâneos. Essa API foi introduzida no Visual Studio 15 atualização 3 (DkmApiVersion. VS15Update3). |
| GetStowedExceptions() |
Obter as exceções predevidas de um despejo.
|
| GetSystemThreads() |
Fornece a lista de threads de sistema ativos no processo. Os threads que não são threads do sistema (DkmThread:: System são nulos) ou foram descarregados, não estarão presentes nesta coleção. |
| GetTargetCompositionServices(DkmTargetCompositionScenario, Object) |
Obtém o IDebugServiceManager para o cenário correspondente, que pode ser usado para acessar extensões baseadas em composição de destino. Restrição de local: as interfaces de composição de destino não podem ser marshalled na máquina, mas são seguras para uso, se disponíveis. Essa API foi introduzida no Visual Studio 16 atualização 5 (DkmApiVersion. VS16Update5). |
| GetThreads() |
Getthreads enumera os elementos DkmThread deste objeto DkmProcess. |
| InvisibleWriteMemory(UInt64, Byte[]) |
Grave a memória no processo de destino, mas oculte a gravação de chamadas para ReadMemory. Essa API pode ser usada para corrigir instruções ou dados dentro do processo de destino para implementar recursos do depurador. Antes que a transferência de dados ocorra, o sistema verifica se todos os dados no endereço base e na memória do tamanho especificado estão acessíveis para acesso de gravação e, se não estiver acessível, a função gerará um erro de E_INVALID_MEMORY_ADDRESS. |
| IsLoadComplete() |
Retornará true se todas as cargas de módulo/criações de thread iniciais tiverem sido enviadas para todos os tempos de execução presentes quando começamos a depurar o processo. Observe que essa definição pode ser diferente da definição da API de depuração do Win32 da carga concluída, já que outras instâncias de tempo de execução podem precisar de mais tempo para serem carregadas. Essa API foi introduzida no Visual Studio 12 atualização 2 (DkmApiVersion. VS12Update2). |
| IsStopped() |
Esse método permite que um componente determine se o processo é considerado interrompido pelo Dispatcher. Esse método não precisa ser chamado de dentro de um método de interface que exige a interrupção do processo de destino, mas pode ser útil durante as operações que podem ser chamadas do modo de execução. |
| LocateBinary(String, String, String, UInt32, UInt32) |
Esse método pesquisará o disco local e todos os servidores de símbolo configurados para um binário que corresponda aos parâmetros. O caminho para esse arquivo no disco local é retornado. Se o arquivo estava em um servidor de símbolos, ele é baixado em um cache e o caminho local é retornado. |
| OnAsyncBreakComplete(DkmAsyncBreakStatus, DkmThread) |
Gerar um evento AsyncBreakComplete. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. Esse método colocará em enfileirar o evento e o controle retornará imediatamente ao chamador. |
| OnEntryPoint(DkmThread) |
Gerar um evento EntryPoint. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. Esse método colocará em enfileirar o evento e o controle retornará imediatamente ao chamador. |
| OnHiddenEntryPoint(DkmThread) |
Gerar um evento HiddenEntryPoint. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. Esse método colocará em enfileirar o evento e o controle retornará imediatamente ao chamador. Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). |
| OnInstructionPatchInserted(UInt64, Byte[]) |
Método chamado pelo monitor de depuração de base para informar outros componentes de que a memória de instrução do processo de destino foi modificada. Atualmente, isso é usado apenas para a inserção de ponto de interrupção. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). |
| OnInstructionPatchRemoved(UInt64, Byte[]) |
Método chamado pelo monitor de depuração de base para informar outros componentes que a memória de instrução do processo de destino foi restaurada para seu estado original. Atualmente, isso é usado apenas para remoção de ponto de interrupção. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). |
| OnLoadComplete() |
Esse método é chamado pelo monitor de depuração base do processo para gerar um evento LoadComplete. LoadComplete é emitido após a criação de objetos DkmModuleInstance para o conjunto inicial de módulos no processo e, geralmente, o conjunto inicial de threads também foi criado. O evento de carregamento completo pode ser adiado por um monitor de depuração de tempo de execução usando DkmLoadCompleteEventDeferral. Add, caso em que esse método será concluído imediatamente. Caso contrário, esse método enviará o evento a todos os componentes que implementam a interface de sincronização de eventos. O controle retornará assim que todos os componentes forem notificados. Esse método só pode ser chamado pelo componente que criou o objeto. |
| OnProcessSnapshotAdded(DkmProcessSnapshot) |
Manipulador que é notificado após a tomada de um instantâneo de processo para o processo determinado. Essa API foi introduzida no Visual Studio 15 atualização 6 (DkmApiVersion. VS15Update6). |
| OnProcessSnapshotRemoved(DkmProcessSnapshot) |
Manipulador que é notificado após a remoção de um instantâneo de processo do processo especificado. Essa API foi introduzida no Visual Studio 15 atualização 6 (DkmApiVersion. VS15Update6). |
| OnTraceTimeContextSet(DkmTraceTimeContext, DkmTraceTimeContext, DkmTraceTimeContext, DkmThread) |
Gerar um evento TraceTimeContextSet. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. O controle retornará assim que todos os componentes forem notificados. Esse método só pode ser chamado pelo componente que criou o objeto. Essa API foi introduzida no Visual Studio 16 atualização 2 (DkmApiVersion. VS16Update2). |
| QueryPerformanceCounters(DkmWorkList, DkmCompletionRoutine<DkmPerformanceCountersAsyncResult>) |
Método assíncrono para obter os dados de tempo do IDkmPerformanceMeasurementDispatcherService coletados de eventos emitidos pelos tempos de execução no processo. Isso é chamado de forma assíncrona, pois obter a sobrecarga do depurador pode ser muito caro. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). |
| ReadMemory(UInt64, DkmReadMemoryFlags, Byte[]) |
Leia a memória do processo de destino. |
| ReadMemory(UInt64, DkmReadMemoryFlags, Void*, Int32) |
Leia a memória do processo de destino. |
| ReadMemoryString(UInt64, DkmReadMemoryFlags, UInt16, Int32) |
Lê uma cadeia de caracteres terminada em nulo da memória do processo do processo de destino. Isso pode ser usado para ler cadeias de caracteres ANSI ou Unicode (UTF-8, UTF-16 ou UTF-32). |
| RemoveDataItem<T>() |
Remova a instância de ' T' deste contêiner. Normalmente, é desnecessário chamar esse método, pois um contêiner de dados será automaticamente esvaziado quando o objeto for fechado. (Herdado de DkmDataContainer) |
| RemoveExceptionTrigger(DkmWorkList, Guid, DkmExceptionTrigger, DkmCompletionRoutine<DkmRemoveExceptionTriggerAsyncResult>) |
Remove um gatilho de exceção definido anteriormente. Observe que o estágio de processamento é ignorado e não precisa corresponder ao valor originalmente fornecido. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). |
| RemoveExceptionTrigger(Guid, DkmExceptionTrigger) |
Remove um gatilho de exceção definido anteriormente. Observe que o estágio de processamento é ignorado e não precisa corresponder ao valor originalmente fornecido. Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). |
| RemoveSnapshotById(UInt32) |
Remova os instantâneos do processo para este processo.
|
| RemoveSnapshots() |
Remova os instantâneos do processo para este processo.
|
| SearchRuntimeFunctionTable(UInt64, UInt64) |
O método retornará o conteúdo do IMAGE_RUNTIME_FUNCTION_ENTRY para um endereço, se possível. Para pesquisar entradas estáticas, os chamadores devem chamar o método equivalente em DkmNativeModuleInstance. |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Coloque um novo item no contêiner de dados. (Herdado de DkmDataContainer) |
| SetDetachUnavailable(Int32) |
Chamado por um componente para indicar que a desanexação não é permitida no processo.
|
| SetGPUMemoryAccessWarning(Int32, Boolean) |
Habilita/desabilita um aviso de acesso de memória de GPU específico. |
| SetProcessExecuteDirection(DkmProcessExecuteDirection) |
Define a direção da execução dos processos. A direção pode ser direta ou inversa. Esse método é implementado apenas para processos viajam de tempo. Essa API foi introduzida no Visual Studio 15 atualização 8 (DkmApiVersion. VS15Update8). |
| SetRunningTime(UInt64) |
Define o contador de tempo de execução para o valor especificado. |
| StoppingEventProcessingBegin(Boolean) |
StoppingEventProcessingBegin é chamado pelo monitor de depuração de base no thread de evento. Ele notifica o Dispatcher de que o processo de destino foi interrompido e pode ter atingido um evento de interrupção. Por exemplo, o monitor de depuração base do Win32 chama isso sempre que recebe uma EXCEPTION_DEBUG_EVENT do sistema operacional. Esse método atualiza o estado interno do objeto DkmProcess para que os eventos de interrupção tenham permissão para serem enviados. |
| StoppingEventProcessingContinue() |
StoppingEventProcessingContinue é chamado pelo monitor de depuração de base no thread de evento. Esse método é chamado depois que todos os eventos de interrupção no lote atual tiverem sido emitidos (ex: DkmRuntimeBreakpoint. OnHit). Esse método notificará os componentes que implementaram uma interface de notificação de evento de interrupção e chamará o Gerenciador de execução para deixar o processo em um ponto seguro. O monitor de depuração de base deve chamar StoppingEventProcessingContinue após qualquer chamada bem-sucedida para StoppingEventProcessingBegin. o monitor de depuração base depois de emitir todos os eventos de interrupção. Um monitor de depuração base deve esperar ser chamado de forma reentrante enquanto estiver nesse método. |
| TakeSnapshot(UInt64, DkmThread) |
Tire um instantâneo do depurado.
|
| TakeSnapshotWithException(UInt64, DkmExceptionInformation) |
Tire um instantâneo do depurado.
|
| Terminate(Int32) |
Esse método é chamado para instruir o monitor a encerrar o processo de destino. Isso irá disparar um evento ProcessExit a ser enviado no thread do evento. |
| TryLocateBinary(String, String, String, UInt32, UInt32) |
Chamado para iniciar a localização de binários cujas imagens podem não ter sido encontradas anteriormente ou tentadas ser carregadas. Esse método pesquisará o disco local e todos os servidores de símbolo configurados para um binário que corresponda aos parâmetros. O caminho para esse arquivo no disco local é retornado. Se o arquivo estava em um servidor de símbolos, ele é baixado em um cache e o caminho local é retornado. Essa API foi introduzida no Visual Studio 11 atualização 1 (DkmApiVersion. VS11FeaturePack1). |
| Unload(Int32) |
ProcessExit é enviado pelo Dispatcher quando DkmProcess:: Unload é invocado pelo monitor. Esse método só pode ser chamado pelo componente que criou o objeto. |
| VolatileReadMemory(UInt64, Byte[]) |
Ler memória do processo de destino. Esse método difere de "ReadMemory", pois esse método pode ser chamado a qualquer momento (não apenas quando o destino é parado) e o depurador não tentará armazenar em cache o resultado dessa operação. |
| VolatileReadMemory(UInt64, Void*, Int32) |
Ler memória do processo de destino. Esse método difere de "ReadMemory", pois esse método pode ser chamado a qualquer momento (não apenas quando o destino é parado) e o depurador não tentará armazenar em cache o resultado dessa operação. |
| VolatileWriteMemory(UInt64, Byte[]) |
Grave na memória do processo de destino. Esse método difere de "WriteMemory", pois esse método pode ser chamado a qualquer momento (não apenas quando o destino é parado) e o depurador não tentará armazenar em cache o resultado dessa operação. Se alguma memória não puder ser gravada, um erro de E_INVALID_MEMORY_ADDRESS será gerado. Como a gravação de memória pode ocorrer no modo de execução, essa falha pode ocorrer depois que a operação de cópia já tiver começado e, portanto, pode causar corrupção de memória no processo de destino. Por esse motivo, essa função deve ser usada com cuidado e as falhas podem ser fatais. |
| WaitForPausingEventProcessingComplete(Int32, Boolean) |
Esse método pode ser chamado a partir de um componente de monitor para aguardar qualquer não interrupção com manipulação de eventos de pausa, bem como qualquer processamento de IDkmProcessContinueNotification que esteja acontecendo no momento para ser concluído. Entre outras coisas, isso pode ser útil ao tentar anular Func-evals, certificando-se de que o processo de destino tenha a oportunidade de ser executado. Observe que esse método não fornece nenhuma garantia de que não haverá mais eventos de pausa imediatamente, de modo que o código não deve pressupor que, depois de retornar dessa API, não está ocorrendo o processamento de eventos. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). Essa API foi introduzida no Visual Studio 15 atualização 6 (DkmApiVersion. VS15Update6). |
| WriteDump(DkmDumpType, String, DkmThread) |
Esse método gravará um despejo de memória do processo no caminho especificado. |
| WriteMemory(UInt64, Byte[]) |
Grava a memória no processo de destino. Antes que a transferência de dados ocorra, o sistema verifica se todos os dados no endereço base e na memória do tamanho especificado estão acessíveis para acesso de gravação e, se não estiver acessível, a função gerará um erro de E_INVALID_MEMORY_ADDRESS. |