DkmRuntimeInstance.ResolveCPUInstructionAddress Method

Definition

Overloads

ResolveCPUInstructionAddress(UInt64, Boolean)

Resolves a CPU InstructionAddress to a runtime-specific DkmInstructionAddress object.

This API is currently only supported by CLR DkmRuntimeInstance objects, and the CLR runtime instance can currently only find instruction addresses which are in a method that is currently on the call stack of one of the threads in the target process.

Location constraint: This API should generally be called on the client, but it can be called on the server for translating CLR addresses (but not native-compiled).

ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Resolves a CPU InstructionAddress to a runtime-specific DkmInstructionAddress object.

This API is currently only supported by CLR DkmRuntimeInstance objects, and the CLR runtime instance can currently only find instruction addresses which are in a method that is currently on the call stack of one of the threads in the target process.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: This API should generally be called on the client, but it can be called on the server for translating CLR addresses (but not native-compiled).

ResolveCPUInstructionAddress(UInt64, Boolean)

Resolves a CPU InstructionAddress to a runtime-specific DkmInstructionAddress object.

This API is currently only supported by CLR DkmRuntimeInstance objects, and the CLR runtime instance can currently only find instruction addresses which are in a method that is currently on the call stack of one of the threads in the target process.

Location constraint: This API should generally be called on the client, but it can be called on the server for translating CLR addresses (but not native-compiled).

public:
 Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ ResolveCPUInstructionAddress(System::UInt64 InstructionPointer, [Runtime::InteropServices::Out] bool % FirstAddress);
public Microsoft.VisualStudio.Debugger.DkmInstructionAddress ResolveCPUInstructionAddress (ulong InstructionPointer, out bool FirstAddress);
member this.ResolveCPUInstructionAddress : uint64 * bool -> Microsoft.VisualStudio.Debugger.DkmInstructionAddress
Public Function ResolveCPUInstructionAddress (InstructionPointer As ULong, ByRef FirstAddress As Boolean) As DkmInstructionAddress

Parameters

InstructionPointer
UInt64

[In] Memory address where the native instruction is located.

FirstAddress
Boolean

[Out] True if this address is the first address in the line's range. False otherwise.

Returns

[Out] Abstract representation of an executable code location (ex: EIP value). If resolved, an Instruction Address will be within a particular module instance. An Instruction Address is always within a particular Runtime Instance.

Applies to

ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Resolves a CPU InstructionAddress to a runtime-specific DkmInstructionAddress object.

This API is currently only supported by CLR DkmRuntimeInstance objects, and the CLR runtime instance can currently only find instruction addresses which are in a method that is currently on the call stack of one of the threads in the target process.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: This API should generally be called on the client, but it can be called on the server for translating CLR addresses (but not native-compiled).

public:
 void ResolveCPUInstructionAddress(Microsoft::VisualStudio::Debugger::DkmWorkList ^ WorkList, System::UInt64 InstructionPointer, Microsoft::VisualStudio::Debugger::DkmCompletionRoutine<Microsoft::VisualStudio::Debugger::DkmResolveCPUInstructionAddressAsyncResult> ^ CompletionRoutine);
public void ResolveCPUInstructionAddress (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, ulong InstructionPointer, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmResolveCPUInstructionAddressAsyncResult> CompletionRoutine);
member this.ResolveCPUInstructionAddress : Microsoft.VisualStudio.Debugger.DkmWorkList * uint64 * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.DkmResolveCPUInstructionAddressAsyncResult> -> unit
Public Sub ResolveCPUInstructionAddress (WorkList As DkmWorkList, InstructionPointer As ULong, CompletionRoutine As DkmCompletionRoutine(Of DkmResolveCPUInstructionAddressAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

InstructionPointer
UInt64

[In] Memory address where the native instruction is located.

CompletionRoutine
DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to