【发布时间】:2017-10-14 19:16:43
【问题描述】:
我正在做一个 Qt 项目。以下是我的设置细节。 - Qt 版本:Qt 5.5.1(qnx) - 套件信息:6.6.0 armv7 QNX 的 Qt5.5.1 的静态 - 编译器:QNX 6.6.0 armv7 的 QCC - Qt Mkspec:qnx-armle-v7-qcc
我想做的是在我的项目中在运行时捕获 SIGSEGV 信号并在控制台本身打印回溯。我可以在 Linux 中使用 backtrace()/backtrace_symbols() 轻松获得回溯。但由于 QNX 中不存在“execinfo.h”文件,我无法使用 backtrace()/backtrace_symbols() 函数。
所以,我正在考虑下载“execinfo.h”文件并将其添加到我的项目中。而且我确信我也需要相应的库,但目前还不知道库名称。
有人可以评论关注吗? 1. “execinfo.h”文件对应的库是哪个? 2. 为了在 QNX 中使用 backtrace()/backtrace_symbols(),我需要获取/下载什么? 3.是否有任何替代方法可以在控制台本身打印回溯和符号 在 Qt/Qnx 项目中?
【问题讨论】:
-
#include <backtrace.h>并链接到 libbacktrace。不要期望它在所有情况下都能正常工作,也不要期望 QNX 提供任何支持。