我在前一段时间找到了关于此功能的信息,但主题是Hidden Features of Visual Studio (2005-2008)?的重复,再也找不到了。停止执行我的程序并转到调试器而没有设置断点(Visual Studio/GCC和C++)
我想用这样的:
#ifdef DEBUG
#define break_here(condition) if (condition) ... // don't remember, what must be here
#else
#define break_here(condition) if (condition) return H_FAIL;
#endif
//...
hresult = do_something(...);
break_here(hresult != H_OK);
//...
var = do_other_thing(...);
break_here(var > MAX_VAR);
它必须表现得像上的错误断点。这就像断言,但没有对话,更轻量。
我不能在这里使用正常断点,因为我的模块是几个项目的一部分,可以在几个VS解决方案中编辑。这导致在一个解决方案中设置的断点在源代码中的某处移动,而在其他解决方案中编辑代码时。
谢谢!我发现它几秒前:)这很奇怪:我搜索了大约一个小时 - 没有发现。并且在询问问题后,在一分钟内找到正确答案:) – zxcat 2009-09-15 17:30:11