如果连接了gdb,我该如何中断,但如果不连接则继续?

时间:2010-03-17 03:50:57

标签: c++ gdb

我有一些调试代码,如果在附加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应该是什么?

1 个答案:

答案 0 :(得分:2)

实际上,看起来只是确保在我需要中断的任何地方都有一个空的gdb_should_break_here()函数。 (只要我没有优化代码)。

然后我需要做的就是

break gdb_should_break_here

并且gdb将在所有正确的位置停止。

猜猜我忽略了它,因为我的代码组织得不是很好,并且包含在一些调试宏中。