我正在编写一个程序,它通过 CUTE 库进行单元测试,并且有一个函数,如果程序在调用它时崩溃,只需检查它。
我已经尝试过try-catch
像这样的块:
try
{
myfunc();
}
catch(...)
{
}
但这只是处理异常并且在没有调用异常时没有用(即abort()
)。
那么有没有办法检查是否有崩溃响应。通知我崩溃发生在哪里(行号,...)?
我正在编写一个程序,它通过 CUTE 库进行单元测试,并且有一个函数,如果程序在调用它时崩溃,只需检查它。
我已经尝试过try-catch
像这样的块:
try
{
myfunc();
}
catch(...)
{
}
但这只是处理异常并且在没有调用异常时没有用(即abort()
)。
那么有没有办法检查是否有崩溃响应。通知我崩溃发生在哪里(行号,...)?
通过处理 SIGABRT。或者可以通过 atexit 函数注册您的处理程序(另请参见 c++ abort override)
只需在 IDE 中使用调试器即可。或者,使用GDB或Valgrind 之类的调试工具。