我正在尝试使用 boost::stacktrace 设置堆栈跟踪日志信号处理程序。Boost 文档建议:
#include <signal.h> // ::signal, ::raise
#include <boost/stacktrace.hpp>
void my_signal_handler(int signum) {
::signal(signum, SIG_DFL);
boost::stacktrace::safe_dump_to("./backtrace.dump");
::raise(SIGABRT);
}
但是,该文件的输出是二进制格式,文档似乎没有提到如何阅读,除了使用boost::stacktrace::from_dump
. 我从另一个 SO 答案(和函数文档)中找到的一种替代方法是使用od -tx8 -An <dumpfile>
,但它的输出似乎仍然不适合人类阅读。Coliru 片段
有没有办法使用标准的 linux 工具来读取这个文件?