我正在尝试使用gdb来调试Torch library二进制文件。当我从命令行运行时: 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安装替换为二进制执行而不是脚本。
答案 0 :(得分:1)
在评论的帮助下,我能够通过火炬脚本运行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
答案 1 :(得分:-1)
尝试LLDB Debugger(lldb
),而不是取代GNU调试器(gdb
)。
默认情况下,在BSD / OS X上可用,在Linux上安装:sudo apt-get install lldb
(或使用yum
)。
如需使用,请查看gdb to lldb command map页。