用gdbserver除錯共享庫(改進版)
:執行gdbserver,並記住列印出來的pid,後面用它來獲得程序的maps檔案。
gdbserver localhost:2222 networkmanager &
process networkmanager created; pid = 24753
listening on port 2222
在客戶端(或者主機端)上
:執行gdb,載入可執行檔案的符號檔案,在主函式處設定斷點,並執行到這裡。gdbserver剛執行起來時,共享庫還沒有載入,所以要執行到main函式才能進行後面的操作。
lixianjing@localhost server>gdb
remote debugging using localhost:2222
0x00293840 in ?? ()
(gdb) symbol-file networkmanager
reading symbols from /home/lixianjing/work/groupware/network-
anager/server/networkmanager...done.
(gdb) b main
breakpoint 1 at 0x804a565: file main.c, line 16.
(gdb) c
continuing.
breakpoint 1, main (argc=cannot access memory at address 0xa396940a
) at main.c:16
16 '
.tmp
.log
>
baseaddr_so
.tmp
.log
baseaddr_so
.tmp
.log
|'begin
'>
offset
.tmp
.log
join
offset
.tmp
.log
baseaddr_so
.tmp
.log
>
offset_baseaddr_so
.tmp
.log
offset_baseaddr_so
.tmp
.log
rm-f
*.tmp
.log
一直沒有找到比較完美的方法,若哪位高手知道,請不吝賜教。
~~end~~
android 通過gdbserver 除錯c
有些事真的很煩鎖,但是又不得不做 環境 ubuntu12.04 ndkr9 android sdk android 4.2.2 盒子,已root 過程 1 c 編寫程式 2 ndk build ndk debug 1 強制生成除錯資訊 3 adb push gdbserver system bin ...
gdbserver除錯cgi小結
這兩天題目中所述問題糾結的不輕,欣慰的是終於解決,在此記錄一下。一 gdbserver移植 環境pc linux version 2.6.32 431.17.1.el6.x86 64 gcc version 4.4.7 arm linux gcc version 4.4.3 arm linux ve...
gdb除錯及gdbserver遠端除錯
gdb偵錯程式是一款gnu開發組織並發布的unix linux下的程式除錯工具,具有強大的功能,足有與visual stido媲美,當然友好的介面是沒法相比的,呵呵。開始編譯程式將除錯資訊包含進去,gdb偵錯程式執行在shell中輸入gdb就好,也可以輸入gdb filename,filename是...