【问题标题】:Printing stack trace in MinGW in Windows在 Windows 中的 MinGW 中打印堆栈跟踪
【发布时间】:2014-01-27 17:28:12
【问题描述】:

我正在尝试找出我的多线程应用程序崩溃的原因。

所以我使用 SetUnhandledExceptionFilter 为未处理的异常安装了一个处理程序,然后在处理程序中展开并打印堆栈跟踪。它工作..排序。

我尝试了很多来自互联网的例子,但我总是得到这样的东西:

1 - 0x00401ecc - Unknown Function
2 - 0x00401e83 - Unknown Function
3 - 0x004013fa - Unknown Function
4 - 0x7584336a BaseThreadInitThunk
5 - 0x77dc9f72 RtlInitializeExceptionChain
6 - 0x77dc9f45 RtlInitializeExceptionChainPress <RETURN> to close this window...

永远不是发生错误的实际位置。

谁能提供一个真实的工作示例,在 Windows 上为未处理的异常打印堆栈跟踪?非常感谢。

【问题讨论】:

    标签: c++ gcc mingw callstack


    【解决方案1】:

    如果它发生在您用于开发的机器上:

    • 使用 IDE(Eclipse CDT、Qt 创建器等)和 gdb 作为调试器,
    • 关闭编译器优化 (-O0),
    • 使用调试符号编译启用(将-ggdb3 标志传递给编译器)。

    如果它发生在客户端机器上,那么情况会更复杂,请参阅:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 2015-07-27
      • 2010-09-23
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      相关资源
      最近更新 更多