我正在做一个Qt项目。下面是我的设置详细信息。- Qt版本: Qt 5.5.1( QNX ) -套件信息: 6.6.0版本的QNX的静态Qt5.5.1 armv7 -编译器: QCC for qnx 6.6.0 armv7 - Qt Mkspec: qnx-armle-v7-qcc
我想要做的是在我的项目中捕获运行时的SIGSEGV信号,并在控制台上打印返回的跟踪。在Linux中,我可以使用backtrace()/ backtrace_symbols()轻松地获取回溯跟踪。但是因为"execinfo.h“文件不存在于QNX中,所以我不能使用backtrace()/ backtrace_symbols()函数。
因此,我正在考虑下载"execinfo.h“文件并将其添加到我的项目中。我确信我也需要相应的库,但是到目前为止还不知道库的名称。
有没有人可以评论一下? 1. execinfo.h文件对应的库是什么? 2.在QNX中实现backtrace()/ backtrace_symbols()功能需要获取/下载什么? 3.在Qt/Qnx项目中有没有其他方法可以在控制台上打印回溯跟踪和符号?
发布于 2017-10-19 02:40:47
当然,您可以尝试libBacktrace.so,更具体地说是bt_get_backtrace() API。以下是QNX 6.6.0的文档:
http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.lib_ref/topic/b/bt_get_backtrace.html
有一个关于API是脆弱的和不受支持的警告,因此继续操作的风险自负。
https://stackoverflow.com/questions/46748406
复制相似问题