使用 gdb 进行核心转储分析

发布于 2024-08-20 00:37:18 字数 208 浏览 4 评论 0原文

我有几个关于核心转储的问题。我在 Windows 上有 gdb,使用 Cygwin。

  1. 核心转储文件的位置是什么?它是.exe.stackdump 文件吗? (这是崩溃后生成的唯一文件)我在其他论坛上读到核心转储文件名为“core”。但我没有看到任何名为“core”的文件。

  2. 打开并理解核心转储文件的命令是什么?

I have a couple of questions regarding core dumps. I have gdb on Windows, using Cygwin.

  1. What is the location of core dump file? Is it a.exe.stackdump file? (This is the only file that generated after crash) I read on other forums that the core dump file is named "core". But I don't see any file with name "core".

  2. What is the command for opening and understanding core dump file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半暖夏伤 2024-08-27 00:37:18
  1. 您需要配置 Cygwin 以通过包含来生成核心转储

    error_start=x:\path\to\dumper.exe

    在您的 CYGWIN 环境变量中(请参阅此处 在“dumper”部分了解更多信息)。如果您没有这样做,您只会获得堆栈跟踪 - 不过,这也可能有助于您诊断问题。

  2. 按如下方式启动 gdb,将其附加到核心转储文件:

    gdb myexecutable --core=mycorefile

    现在,您可以使用常用的 gdb 命令来打印堆栈跟踪、检查变量的值等。

  1. You need to configure Cygwin to produce core dumps by including

    error_start=x:\path\to\dumper.exe

    in your CYGWIN environment variable (see here in section "dumper" for more information). If you didn't do this, you will only get a stacktrace -- which may also help you in diagnosing the problem, though.

  2. Start gdb as follows to attach it to a core dump file:

    gdb myexecutable --core=mycorefile

    You can now use the usual gdb commands to print a stacktrace, examine the values of variables, and so on.

放飞的风筝 2024-08-27 00:37:18
  1. 是的,cygwin 默认创建 a.exe.stackdump 文件。您还需要配置它来创建核心(马丁的回答涵盖了这一点)。
  2. 有关核心转储调试的简单教程可以在 此处< /a>
  1. Yes, cygwin creates a.exe.stackdump files by default. You need to configure it to create cores as well (Martin's answer covers that).
  2. A simple tutorial on core dump debugging can be found here
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文