找到std :: vector.at()抛出std :: out_of_range的位置

Ali*_*Ali 6 c++ gdb exception-handling exception eclipse-cdt

通常我会保持未处理状态,调试器(gdb,Eclipse CDT)会向我显示调用堆栈.不幸的是,代码被第三方库调用,它吸收了所有异常.我可以在第三方库之前捕获异常但是我看不到调用堆栈(stack-unwinding?).

我怎样才能弄清楚抛出异常的位置?

Fre*_*son 5

接收点会有帮助吗?通过catch throw在gdb中输入命令,可以在抛出异常时中断.在Eclipse中,您可以通过gdb控制台执行此操作.看到这个问题.