我有一些调试代码,如果在附加GBD运行时执行应该会破坏应用程序的执行,但是如果GDB没有运行它应该继续。
我正在使用的代码在结构中看起来像这样:
try
{
if( some_complex_expression )
{
gdb_should_break_here();
do_some_stuff();
throw MyException();
}
}
catch( const MyException & e )
{
handle_exception_and_continue();
}
gdb_should_break_here应该是什么?
答案 0 :(得分:2)
实际上,看起来只是确保在我需要中断的任何地方都有一个空的gdb_should_break_here()函数。 (只要我没有优化代码)。
然后我需要做的就是
break gdb_should_break_here
并且gdb将在所有正确的位置停止。
猜猜我忽略了它,因为我的代码组织得不是很好,并且包含在一些调试宏中。