1

有没有办法在 Visual C++ 2008 Express 上调试代码,比如我可以观察某个变量的某些值,并且当它假定这个值时,会中断?

例如,我想在x变成时打破5。在 gdb 中,我会设置一个断点,然后设置一个条件x == 5。我如何在 Visual C++ 2008 Express 上做到这一点(如果可能)?

4

4 回答 4

3

尽管快速版本中缺少对它的内置支持,但还有另一种解决方法。

我在另一个类似问题的答案中找到了这个。

#if DEBUG
if( node.Name == "Book" )
    System.Diagnostics.Debugger.Break();
#endif

该示例显示,如果 Name 属性与“Book”匹配,则会出现断点。

这是原始问题:

如何:使用条件创建断点?[C# 表达]

于 2010-01-08T16:43:47.293 回答
2

这在 Visual Studio 的 Express 版本中是不可能的。但在完整版本中是可能的。

于 2010-01-08T16:38:44.200 回答
0

似乎即使在快递中也可以做到这一点,至少在这里它起作用了。标记断点后,我右键单击它的标记,并设置“条件”(再简单不过了)

!设置条件

然后,您可以编写一个计算结果为 true 的表达式。我的同事刚刚向我展示了这个,他们说他们在使用它来比较字符串时遇到了一些问题,但是对于使用 int 进行简单比较来说,它非常简洁。

!条件窗口

但是,正如在另一个答案中所说,这并不像直接输入中断代码那么快。

于 2010-01-08T17:51:25.223 回答
-2

幸运的!C/C++ 的Visual Studio 2010 Express 确实支持它。请参阅如何:指定断点条件

我试过了。

于 2010-11-30T08:41:24.117 回答