GDB(八) 启动被调试程序

.gdbinit文件GDB启动时会载入.gdbinit文件。这个文件里包含比如“set listsize”之类的命令,GDB启动时会执行它们。GDB首先会在主目录下找,找不到则会在启动GDB的当前目录里找。

GDB每次启动时会打印copyright信息。使用gdb -q启动GDB可以禁这个信息。使用shell的别名机制,alias gdbq="gdb -q",每次启动gdbq就可以启动不带copyright信息的GDB。

在GDB里使用set prompt命令可以设置GDB的提示,比如“set prompt gdb>”,这样提示就不再是默认的(gdb)了。可以把这个设置放入.gdbinit文件里。同样可以使用逃脱字符\033(在终端里是"/e["和"m")来设置颜色,比如“set prompt \033[01;34mgdb> ”

启动被调试程序:

run命令启动程序。

run arg1 arg2 ...可以给程序传入参数。

set args设置下一次run命令执行时传入程序的参数。比如

set args arg1 arg2...
run

等同于run arg1 arg2 ...

程序已经运行时(并可能中断在某个断点上),可以使用kill来杀死程序,这样可以重新运行。

也可以直接执行run,GDB会提示你是否重新启动程序。

tty命令可以把被调试程序的输出定位到另一个终端,这样可以和GDB的输出分离。

tommy:~$ tty
/dev/pts/0
tommy:~/tmp$ gdb a.out
Reading symbols from /home/tommy/tmp/a.out...(no debugging symbols found)...done.
gdb> tty /dev/pts/1
gdb> run
然而在ubuntu上不能这样做……在目标终端(/dev/pts/1)上会出现错误:warning: GDB: Failed to set controlling terminal: 不允许的操作,即使是使用超级用户权限。这可能是一个ubuntu的bug。

http://ubuntuforums.org/showthread.php?t=1416313

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值