gdb - 如何解释 OCaml 程序的 GDB 回溯?

标签 gdb ocaml

我正在尝试在 GDB 中读取我的 OCaml 程序的回溯。输出如下所示:

(gdb) bt
#0  0x0000000100535ac6 in .L207 ()
#1  0x0000000100535acb in .L207 ()
#2  0x0000000100535acb in .L207 ()
...

如何解释这种输出?

编辑:

  • 我已经使用 ./configure --enable-debug 启用了调试信息(我正在使用 oasis)。
  • 我在 OS X 10.10 上使用 GDB 7.9.1
  • 我正在使用 OCaml 4.02.2

编辑 2:对于 Linux 版本的 GDB,输出似乎是正确的。有谁知道为什么 OS X 和 Linux 版本之间存在如此大的差异?

最佳答案

检查使用的是什么 C 编译器和汇编器。 Mac OS 可能使用 clang,它可能不会为 gdb 生成完整的调试信息。在那种情况下,使用 lldb 可能会更有成效。

关于gdb - 如何解释 OCaml 程序的 GDB 回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31318926/

相关文章:

macos - 在 OS X 10.9 上使用 opam 安装 camlp4 失败

functional-programming - OCaml 中的模式匹配函数

ocaml - 不错的 ocamlfind 文档

c++ - 使用 gdbserver 从 clion 调试 jni 库

python - 如何在 ../src/x86/ffi64.c :158 处修复 Python 函数 "classify_argument"中的段错误

java - OCaml 到 Java 的翻译

types - 开放对象类型统一得太早

在 gdb 中找不到返回地址

c++ - gdb:中断正在运行的进程而不杀死子进程

gdb - 在 GDB 中 break *main VS break main()