DkmRuntimeInstance.ResolveCPUInstructionAddress Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.