Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Visual Studio.NET / Extensibility / August 2004

Tip: Looking for answers? Try searching our database.

2 questions about the Debug SDK

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Michael He - 09 Jul 2004 08:55 GMT
Expert,

I have 2 questions about the Debugging SDK.

1. 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?

2. 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?

Thanks in advance,

Michael
Jim Glass [MSFT] - 19 Jul 2004 17:29 GMT
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.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.