Michael,
Question: "I read through the documents and can not find a way to show the
registers in the Register Window. We want to provide information from the
DE for the registers. Is it possible? Which interface should I start with?"
Answer: Registers are obtained by calling IDebugStackFrame2::EnumProperties
with a refiid of guidFilterRegisters (defined in msdbg.h as an external
value). EnumProperties is called whenever the Registers Window needs to be
updated. This update will occur only when the program being debug is
stopped, either because the user paused execution or a breakpoint was hit.
Question: "We want to support breakpoint type like I/O access and
testpoint, which don't fall into the standard "data" or "code" categories.
Where can we start with?"
Answer: I think you can set an actual address for a Data breakpoint instead
of a variable name. The debug engine will be asked for the value of the
"variable" and should evaluate it as an address (because it would start
with a number such as "0x") and not a name, then retrieve the value from
the address. If such a breakpoint is set, the debug engine will know to
watch that address and fire the breakpoint event when the contents of the
address changes. This would allow the end user to watch an I/O port for
changes.
Jim Glass
This posting is provided "AS IS" with no warranties, and confers no rights.
rama - 19 Aug 2004 13:17 GMT
Hi,
I am trying to understand the Text Interpreter sample code for Debug SDK. I
am facing a problem while displaying registers.
A call is being made to IDebugStackFrame2::EnumProperties,
IEnumDebugProperty2::getCount, IEnumDebugProperty2::Next,
IDebugProperty2::EnumChildren in that order. After EnumChildren returns, it
calls IEnumDebugProperty2::GetCount() method which returns a count of 5
(Seems correct as I want to display 5 registers). Then FinalRelease is being
called. Register window comes up but with "No data available".
IDebugProperty2::GetProperty window gets called within EnumProperties() and
EnumChildren(). The DEBUG_PROPERTY_INFO structures are also filled up
correctly.
1.Shouldn't the Visual Studio take care of calling GetPropertyInfo()?
2.Should some other interface be implemented to display the register values
on the window?
Thanks.
> Michael,
>
[quoted text clipped - 23 lines]
> Jim Glass
> This posting is provided "AS IS" with no warranties, and confers no rights.