gpt4 book ai didi

C++ 简单的崩溃日志记录

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:11 28 4
gpt4 key购买 nike

我正在为 3D 应用程序编写一个插件(基本上是一个 dll),偶尔会发生崩溃。有时这些很难找到,我想投入一些时间来制作(或集成现有的)崩溃记录器,这将

  1. 给我一个堆栈跟踪。
  2. 给我一个局部变量列表。
  3. 将这些项目转储到文件中,或将其上传到给定的 URL。

到目前为止,我查看了 Google breakpad ,但不知道如何集成它,并且文档充其量似乎很差。我已经尝试使用它并设法在 Windows 上构建它,但是一些单元测试失败了并且没有关于此时该做什么的帮助。此外,它可能对我的需求有点过分。

我找到了以下网站,其中详细介绍了如何获取堆栈跟踪 GENERATE STACK TRACES ON CRASH PORTABLY IN C++ .但我不确定这是否适用于远程系统。我猜这需要是调试版本并提供 pdb 文件才能工作?至于获取局部变量,我还没有设法找到任何东西。有谁知道一些可以提供帮助的资源?

最佳答案

this article ,虽然写于 2002 年,但仍然与事后调试有关。它向您展示了使其正常工作所需的所有原因、步骤和设计。

如今,它更容易一些(尽管我喜欢 Windbg!)您可以让您的应用程序调用 SetUnhandledExceptionFilter 并编写 .dmp 文件,然后只需双击它即可将其加载到 Visual Studio 中。您将需要调试系统上的良好符号(.pdf 文件)来理解转储,但是创建您自己的符号服务器(文章中的说明,非常简单)并且它应该能够找出需要哪些符号任何应用程序。但是,您必须遵守保存符号的纪律 - 错误的符号比无用更糟糕。

关于C++ 简单的崩溃日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882742/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com