3

我正在尝试使用 gdb 将 Torch 库二进制文件调试为 . 当我从命令行运行时:gdb --args th

我收到以下错误:

"/xxx/xxxx/torch/install/bin/th": not in executable format: File format not recognized

我检查了我当前安装的gdb是否是 64 位我安装了 gdb64 并且当我运行

gdb64 --args th

我仍然得到同样的错误,输出:

file /xxx/xxxx/torch/install/bin/th

是 :

/xxx/xxxx/torch/install/bin/th: POSIX shell script, ASCII text executable, with very long lines 

我了解到问题在于可执行文件不是二进制文件,而是脚本,因此 gdb 正在尝试调试脚本。

我的问题是如何克服这个问题并让 gdb 调试命令本身的执行。甚至将 Torch 安装替换为二进制执行而不是脚本。

4

2 回答 2

2

在评论的一些帮助下,我能够通过火炬脚本运行 gdb,通过:

gdb64 /bin/bash    # check your gdb configuration either it's i686 or x86_64 
run /path/to/th    # th is the torch running script to be debugged
于 2015-06-06T05:13:46.517 回答
-1

试试LLDB Debugger ( lldb) 来代替 GNU Debugger ( gdb)。

它在 BSD/OS X 上默认可用,在 Linux 上通过:(sudo apt-get install lldb或使用yum)安装。

有关用法,请检查gdb 到 lldb 命令映射页面。

于 2015-08-04T21:22:10.613 回答