c – 在取消引用指针的地址上在Visual Studio 2005中设置数据断
发布时间:2020-12-16 07:24:41 所属栏目:百科 来源:网络整理
导读:我想知道是否有办法执行以下操作:我有一个包含成员的结构,当我将结构传递给API函数时,该结构是指向内核分配的内存块的指针(结构是WAVEHDR,成员是保留字段.) 我可以在保留成员的值上设置数据断点 – 这本身并不是很有帮助.当断点被命中时,我想要做的是取消引
我想知道是否有办法执行以下操作:我有一个包含成员的结构,当我将结构传递给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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |