为什么我不能在 QNX 中调用 bt_get_backtrace()?

Why can't I call bt_get_backtrace() in QNX?

提问人:Dean 提问时间:10/9/2023 最后编辑:Dean 更新时间:10/17/2023 访问量:26

问:

我想回溯 QNX 程序中堆栈中的功能,因此我查阅了 QNX 官方文档中的 API。我按照官方文档中的示例代码在 libbacktrace.so 中调用 bt_get_backtrace(),但它返回 -1,程序报告了一条错误,指出“Not Spportted”。在此处输入图像描述

但是,我可以通过调用 bt_load_memmap 和 bt_sprn_memmap 成功加载和打印 memmap。

我该如何解决这个问题?有没有其他方法可以进行回溯?我尝试过 exeinfo.h 和 libunwind,但它们都不起作用。

QNX 回溯 BlackBerry-QNX

评论


答:

0赞 Stephen M. Webb 10/17/2023 #1

QNX 上的 libbacktrace 不支持 aarch64 上的回溯。最好使用 libunwind [0]。

[0] https://github.com/libunwind/libunwind