C++ 在Visual Studio 2005中对取消引用指针的地址设置数据断点
我想知道是否有办法做到以下几点:我有一个结构,其中包含一个成员,当我将该结构传递给API函数时,该成员是指向内核分配的内存块的指针(该结构是WAVEHDR,该成员是保留字段) 我可以在保留成员的值上设置一个数据断点——这本身并没有多大帮助。当遇到断点时,我想做的是取消对reserved中存储的指针的引用,并在该指针指向的内存上设置一个新的数据断点。我希望VisualStudio在内存设置为已知值时中断 我知道如何从宏设置断点,以及如何让Visual Studio在宏被命中时从断点调用该宏,但我不知道是否可以将指针值传递给宏,以便它可以在正确的地址上设置断点。UI没有提供这样做的方法C++ 在Visual Studio 2005中对取消引用指针的地址设置数据断点,c++,c,visual-studio-2005,debugging,C++,C,Visual Studio 2005,Debugging,我想知道是否有办法做到以下几点:我有一个结构,其中包含一个成员,当我将该结构传递给API函数时,该成员是指向内核分配的内存块的指针(该结构是WAVEHDR,该成员是保留字段) 我可以在保留成员的值上设置一个数据断点——这本身并没有多大帮助。当遇到断点时,我想做的是取消对reserved中存储的指针的引用,并在该指针指向的内存上设置一个新的数据断点。我希望VisualStudio在内存设置为已知值时中断 我知道如何从宏设置断点,以及如何让Visual Studio在宏被命中时从断点调用该宏,但我不
宏是否有办法访问有关正在运行的程序的信息,并执行诸如计算全局变量或其他表达式之类的操作?如果我能通过宏对正在运行的代码进行编程访问(在断点期间),我就可以完成我想要做的事情。我不确定这是否可行。我知道有条件断点,但这需要提前知道内存地址
在条件中断对话框中沿*p==0xADDRESS行的内容。宏可以计算您在监视窗口中可以计算的任何内容:
Dim e As EnvDTE.Expression
e = DTE.Debugger.GetExpression("<my expression>", True)
If e.IsValidValue Then
... use e.Value to do something
End If
dime作为EnvDTE.Expression
e=DTE.Debugger.GetExpression(“,True)
如果e.IsValidValue,则
... 用e.Value做某事
如果结束
你在e.value中得到的值正好是你在watch窗口中看到的字符串,所以你可能需要把它分开。Expression对象上还有许多其他属性可以使用。看