我有一些调试代码,如果在附加 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 应该是什么?
最佳答案
实际上,看起来只要确保在我需要中断的任何地方都有一个空的 gdb_should_break_here() 函数就可以了。 (只要我不优化代码)。
那么我需要做的就是一个
break gdb_should_break_here
并且 gdb 将在所有正确的地方停止。
我猜我忽略了它,因为我的代码组织得不是很好,并且包含在一些调试宏中。
关于c++ - 如果附加了 gdb,我该如何中断,但如果没有附加,我该如何继续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459800/