0

glog (c++) 的故障信号处理程序可以在 segfault 等上打印堆栈跟踪(参见此处)。堆栈跟踪也可以包含行号吗?

编辑:即使我使用LOG(FATAL),堆栈跟踪也没有行号。

*** Check failure stack trace: ***
    @     0x7f43546debd6  google::LogMessage::Fail()
    @     0x7f43546deb1a  google::LogMessage::SendToLog()
    @     0x7f43546de46b  google::LogMessage::Flush()
    @     0x7f43546e1530  google::LogMessageFatal::~LogMessageFatal()

我初始化glog如下

  google::InstallFailureSignalHandler();
  google::InitGoogleLogging(argv[0]);
  gflags::ParseCommandLineFlags(&argc, &argv, /*remove_flags=*/true);

如果您看到行号,我会遗漏什么?谢谢!

4

1 回答 1

0

在堆栈跟踪之前有一条致命消息。

WARNING: Logging before InitGoogleLogging() is written to STDERR   // here
F1015 19:51:48.561210 15798 test.cc:36] []This is a test
*** Check failure stack trace: ***
Aborted (core dumped)

于 2020-10-15T11:55:24.560 回答