![]() |
用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. 搜索了一下这个问题,发现GDB的bugzilla有人报告过。[1] 可以对 __gnat_debug_raise_exception 下断点,在发生异常时,Ada的异常处理调用这个子程序,从而GDB可以停在异常发生的地方。 [1] https://sourceware.org/bugzilla/show_bug.cgi?id=11385 RE: 用GDB捕获Ada程序的异常 - vimacs - 03-25-2025 最近开始用Ada实现我自己的项目中的某个模块。我的项目是C++,Python(使用pybind和C++交互)混编,加入Ada之后,Ada代码产生的异常到Python那边就现实不出异常信息了。所以我现在的做法是在Ada代码里面先处理一次异常,把异常信息打印出来。 |