2
也許,我誤解了一些東西,但我不能讓GDB去讀取調試庫。 我在命令行做的是:gdb7.7不加載共享庫
gdb
file problem_exec
b main
r
GDB停在:
(gdb) r
Starting program: /Users/.../problem_exec
Breakpoint 1, main (argc=<error reading variable: Could not find the frame base for "main(int, char**)".>, argv=<error reading variable: Could not find the frame base for "main(int, char**)".>)
沒有共享庫:
(gdb) info shared
No shared libraries loaded at this time.
最後一個命令給出:「沒有共享庫加載的「
我的.gdbinit樣子:
# file .gdbinit
set stop-on-solib-events 1
# stop gdb from stepping over functions and output diagnostics
set step-mode on
set breakpoint pending on
set env DYLD_LIBRARY_PATH path1:path2:path3
#automatically load shared libraries (on/off):
set auto-solib-add on
我相信,一個可執行文件對共享庫的調試版本鏈接(總共有大約30個庫,但一個我很感興趣的是絕對編譯調試模式)。我檢查它otool -L problem_exec
如果我運行程序,它會直到我要調試的庫運行時錯誤,但我無法步調一致。
我缺少的東西?
p.s.我在os-x上運行Gdb的自編譯版本。
更新:它可能與此problem有關。
我更新了這些問題,似乎它停在了main,但是沒有共享的libs被加載 – Denis