在visual c ++中获取段错误的堆栈跟踪(发布版本)

时间:2016-05-07 14:41:00

标签: c++ visual-c++

使用linux中的gcc我可以为崩溃添加处理程序(例如SIGSEGV)并将堆栈跟踪写入日志,如此

signal(SIGSEGV, signalHandler); // Register for SIGSEGV
...
void signalHandler(int signal)
{
  void* addrBuffer[100];
  backtrace(addrBuffer, 100);
  // print addresses to log
  exit(1);
}

然后使用addr2line函数,我可以获得人类可读的堆栈跟踪。

这种方法的优点是

- works on release builds with no symbols/debug info
- works on end user/production installs

假设我可以获取日志文件,我可以调试用户崩溃。

有没有办法在Windows中用Visual c ++做类似的事情?

0 个答案:

没有答案