c – 在取消引用指针的地址上在Visual Studio 2005中设置数据断点

c – 在取消引用指针的地址上在Visual Studio 2005中设置数据断点,第1张

概述我想知道是否有办法执行以下 *** 作:我有一个包含成员的结构,当我将结构传递给API函数时,该结构是指向内核分配的内存块的指针(结构是WAVEHDR,成员是保留字段.) 我可以在保留成员的值上设置数据断点 – 这本身并不是很有帮助.当断点被命中时,我想要做的是取消引用存储在reserved中的指针,并在该指针指向的内存上设置一个新的数据断点.当内存设置为已知值时,我希望VisualStudio中断. 我 我想知道是否有办法执行以下 *** 作:我有一个包含成员的结构,当我将结构传递给API函数时,该结构是指向内核分配的内存块的指针(结构是WAVEHDR,成员是保留字段.)

我可以在保留成员的值上设置数据断点 – 这本身并不是很有帮助.当断点被命中时,我想要做的是取消引用存储在reserved中的指针,并在该指针指向的内存上设置一个新的数据断点.当内存设置为已知值时,我希望VisualStudio中断.

我知道如何从宏设置断点,以及如何让Visual Studio在断点时从断点调用该宏,但我不知道是否可以将指针值传递给宏以便它可以设置断点在正确的地址.用户界面没有提供这样做的方法.

有没有办法让宏访问有关正在运行的程序的信息,并执行评估全局变量或其他表达式的 *** 作?如果我从宏中获得对运行代码(在断点期间)的那种编程访问,我可以完成我正在尝试做的事情.

解决方法 宏可以在监视窗口中评估您可以做的任何事情:

Dim e As EnvDTE.Expression    e = DTE.DeBUGger.GetExpression("<my Expression>",True)    If e.IsValIDValue Then        ... use e.Value to do something    End If

您在e.Value中获得的值正是您在观察窗口中看到的字符串,因此您可能需要将它拉开.您可以使用Expression对象上还有许多其他属性.见MSDN documentation.

总结

以上是内存溢出为你收集整理的c – 在取消引用指针的地址上在Visual Studio 2005中设置数据断点全部内容,希望文章能够帮你解决c – 在取消引用指针的地址上在Visual Studio 2005中设置数据断点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存