我在 Linux 平台上用 C++ 编程。
我的程序因这个(未处理的???)异常而终止:
“在抛出'long'实例后调用终止” 中止
抛出异常的代码在 try-catch block 中,那么为什么会发生这种情况? 从函数返回时抛出异常。
我习惯于 C 编程,对 C++ 的经验很少(这是主要问题)。我不知道如何调试这个问题。我不期待解决方案,而是调试此问题的方向/指针。
提前致谢。
最佳答案
您可以在 gdb
下运行您的应用程序(已使用 -g
使用调试信息构建它)并在使用以下命令抛出异常时让它中断:
(gdb) catch throw
这会将您带到异常的起源。这个问题提供了更多信息:
请注意,抛出序数类型(例如 long
)有点不寻常。它可能在一些临时代码中,因此四处搜索可能会很快找到它。
关于c++ - 如何调试在未处理的异常中终止的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1789195/