2008-10-09 73 views
0

我遇到了一个奇怪的问题与Visual Studio 2005:我有一个数据断点,设置为运行宏并继续(即,我选择一个宏,并检查继续执行)。如何使Visual Studio调试器在设置为运行宏并继续的数据断点处停止中断?

现在,而不是在数据断点(tracepoint,真正的)中的值发生变化时,静静地运行宏,我首先得到一个消息框,告诉我断点已经命中,只有在我点击OK后宏才运行。

我正在调试的代码是时序敏感的,所以这使得它无法调试。有没有办法禁用弹出的消息框?

回复评论:宏本身可以是空的,也可以是任何微软提供的示例宏 - 它没有什么区别。

+0

你可以包含宏吗? – 2008-10-10 04:42:36

+0

即使宏是空的,或者我选择了一个示例宏,也会发生这种情况。所以宏观本身是不相关的。 – 2008-10-10 14:49:11

回答

0

我的机器上没有vs.net 2005。
所以,我在这里推测。

什么是执行?

它试图评估一个属性吗?
当读取属性时是否设置了条件断点? (即当属性被读取时中断?)

尝试移除与当前执行行相关的其他断点并再次添加跟踪点。

1

它对我也是这样。根据您设置“继续执行”选项的方式,行为看起来有些不同,所以我怀疑这种行为(尽管它很痛苦)可能是由设计决定的。或者它可能是一个错误,但无论哪种情况,你都可能被卡住。

另一种方法可能是使用windbg或其他Windows debugging tools之一,它们也支持数据断点。他们需要一些习惯,并且不像Visual Studio调试器那样友好,但它们非常强大。 “ba”命令创建一个数据断点,并且可以编程调试器以在命中断点时执行特定命令。 This article有关于这些调试器的一些很好的介绍性信息,并且the Q & A section near the end有一个如何在面包点击时执行动作的示例。

相关问题