WeHack BBS
用GDB捕获Ada程序的异常 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: 程序设计讨论区 (https://bbs.wehack.space/forum-14.html)
+--- 主题: 用GDB捕获Ada程序的异常 (/thread-370.html)



用GDB捕获Ada程序的异常 - vimacs - 08-04-2023

GDB的catch命令可以通过“catch exception”捕获Ada的异常,但是在我的系统里,用这个命令产生这个错误:
引用:Your Ada runtime appears to be missing some debugging information.
Cannot insert Ada exception catchpoint in this configuration.

搜索了一下这个问题,发现GDB的bugzilla有人报告过。[1] 可以对 __gnat_debug_raise_exception 下断点,在发生异常时,Ada的异常处理调用这个子程序,从而GDB可以停在异常发生的地方。

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=11385