gdbserver远程调试

转载请注明:https://blog.csdn.net/fuqiangnxn/article/details/94080961

yum安装:

yum install gdb

yum install gdb-gdbserver

 

gdb 远程调试,可以让代码只在一台服务器上(宿主服务器), 然后把debug版本的程序放到目标机上进行远程调试,避免代码被复制出去。

gdb 远程调试,需要在远端目标服务器上部署 gdbserver 和要调试的程序,在宿主机上运行gdb。

默认 linux 没带 gdbserver,需要自己源码编译。

到 https://ftp.gnu.org/gnu/gdb/ 下载 gdb源码,redhat 6.x 系列都是 gdb-7.2a.tar.bz2

tar xfj gdb-7.2a.tar.bz2

cd gdb-7.2

cd gdb/gdbserver

./configure --prefix=$HOME/local/gdb

make

make install

只需要把 $HOME/local/gdb/bin/gdbserver 复制到目标服务器上即可。

查看帮助:

man -M ~/local/gdb/share/man gdbserver

目标机上运行:

$ ~/local/gdb/bin/gdbserver :9000 cyclone --slave --start

Process cyclone created; pid = 10020

Listening on port 9000

或者 gdbserver ip:port --attach pid

在宿主机上运行 gdb

$ gdb

(gdb) set debug remote 1

(gdb) set architecture i386:x86-64

(gdb) target remote 192.168.103.232:9000

Remote debugging using 192.168.103.232:9000

warning: Could not load vsyscall page because no executable was specified

try using the "file" command first.

0x0000003422800b00 in ?? ()

Created trace state variable $trace_timestamp for target's variable 1.

(gdb) symbol-file ~/work/dev/g8m/build/debug/Gliese/home/bin/cyclone

Reading symbols from /home/kongds/work/dev/g8m/build/debug/Gliese/home/bin/cyclone...done.

(gdb) b main

Breakpoint 1 at 0x4cf177: file /home/kongds/work/dev/g8m/src/trunk/product/layer/GlieseTool/cyclone/dev/src/ztcm/ztcmMain.c, line 102.

(gdb) continue

Continuing.

Breakpoint 1, main (aArgc=3, aArgv=0x7fffa4b1e048)

at /home/kongds/work/dev/g8m/src/trunk/product/layer/GlieseTool/cyclone/dev/src/ztcm/ztcmMain.c:102

102 stlInt32 sState = 0;

(gdb) next

注意:remote 模式下,不支持 start 命令。因此需要先下断点,然后执行 c命令. 接着就能一步一步debug 了。

 

 

///

set debug remote 1

set architecture i386:x86-64

target remote 192.168.103.232:9000

symbol-file /home/fq/gbase8m/gbase8m_debug/dest/Gliese/home/bin/cyclone

set follow-fork-mode child

catch exec

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值