microsoft / microsoft/ConcordExtensibilitySamples

How can I get resolved DkmInstructionAddress on Target computer component?

Open
#64 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
135
Forks
54
Avg merge
5h 58m
Merged PRs (30d)
3

Description

Hello,
I would like to get DkmCustomInstructionAddress from the interface function "OnEmbeddedBreakpoint" which is implemented in the component "A" of target computer (Levels Values < 99,999).

"A" component inserts "TRAP" in the instruction stream. As a result, It received "OnEmbeddedBreakpointHit" with a DkmUnknownInstructionAddress. Is there any simple ways to get the resolved DkmCustomInstructionAddress on the target computer component? IDkmInstructionAddressResolver is implemented by an IDE component.

What I have tried are as follows.

  1. Implement "IDkmInstructionAddressProvider" interface in a IDE component. - Not Working.
  2. Call DkmProcess.GetInstructionAddress. - NotImplementedException is thrown.
  3. Implement "IDkmEmbeddedBreakpointHitNotifier" interface in a IDE component "B" and call thread.OnEmbeddedBreakpointHit. However the notification was received by only the components whose level is higher than the level of "B" component.

I hope to find a simple way so that makes easy to implement stepper.

Thanks.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the DkmCustomInstructionAddress, DkmUnknownInstructionAddress, IDkmInstructionAddressResolver, IDkmInstructionAddressProvider, and IDkmEmbeddedBreakpointHitNotifier interfaces mentioned in the issue. Reproduce the three reported approaches, including the DkmProcess.GetInstructionAddress NotImplementedException, and determine whether the documented extension points provide a supported resolution path for the target computer component.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.