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 回答 (および関数のドキュメント) から見つけた 1 つの代替手段は、を使用することでしたod -tx8 -An <dumpfile>
が、この出力はまだ人間が判読できないようです。コリル スニペット
標準の Linux ツールを使用してこのファイルを読み取る方法はありますか?