笔记:gdb在tui模式下,通过自动刷新解决界面混乱的问题

一、解决问题

在gdb的tui模式下,可看到源码,并自动跟踪代码行,很方便。
但在运行next、continue或其他指令后,界面有时会变得混乱,需手动执行refresh指令进行刷新后才可恢复正常,很繁琐。
通过在gdb的初始化文件中新增自定义指令,覆盖默认的指令即可解决。
CentOS 7下的配置文件为:

/etc/gdbinit.d/xxx.gdb

若上述配置文件不存在,可手动新增一个。在文件中新增如下配置:

define c 
  continue
  refresh
end

define n
  next
  refresh
end

重新进入gdb,在运行完自定义指令c、n后,即可自动执行刷新,完美解决界面混乱问题。

二、参考资料

《How to automatically refresh gdb in tui mode?》

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gdb-20010428-3[1].tar.bz2 和 gdb-20020411-1[1].tar.bz2 图形界面 GDB 使用指南 -SeaSon from HIT 1.安装:cygwin 下面安装就行了,注意我测试的 gdb-20020411-1和 gdb-20010428-3 都是 图形界面,而版本 gdb-20041228-3 我发现是命令行的,所以推荐前两个版本,毕竟图形界 面方便很多,如果你热衷于新的版本,那看到这里你就可以停止了:)下面以 ns-allinone-2.27 为例说明 注:现在直接从网上安装的版本好像没有那么老的版本,我是从网上找到一个本地安装版本 “ Cygwin0528”(可以用 baidu 或者 google 搜一下),然后利用它安装 gdb-20020411-1, 注意你只需要安装这一个就行了,其他的所有都选择为 keep(已经安装的)或者 skip(未 安装的),否则会出现问题的,一定要切记这点儿。 2.在代码里面添加调试信息:修改 Makefile(没有任何后缀的)将里面 CCOPT = #如果是ns-allinone-2.28,这里是 CCOPT = -O2 STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 改变为: CCOPT = -g #如果是 ns-allinone-2.28,这里修改为 CCOPT = -O2 -g STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 修改的东西是粉红色字体所示 3.然后重新编译 注意:以下步骤一个都不能少 Make clean Make depend Make 4.调试过程如下 进入工作目录:推荐 ns-2.27 操作:打开 xwindows 之后, a.输入 cd ns-allinone-2.27/ns-2.27(必须) b.输入gdb ns 进入gdb 工作界面,如果不是图形界面的版本可能就直接在 xwindows进入 Gdb 调试过程,这样的话具体命令参见《NS 仿真软件》精华区,不要问我!!!!!!!!!! 如果按照我的要求安装的图形界面 gdb,出现如下图形界面,如下所示: c.在左上角红色标记的地方输入你要调适的程序。如:mflood.cc 设置断点,注意只有最左边有“-”符号(如下图中 1 所示)的可以设置断点,将鼠标放 在行号上就会出现变成一个圆形的符号,单击即设了一个断点,原来的“-”地方变成了一 个红色的方框,如下图中标号 2 所示。 然后输入 Ctrl+N进入命令行窗口,如下图所示: 进入代码所在的目录 ns-2.27/mytcl 因为当前的工作目录在 ns-2.27,所以我直接输入 cd mytcl 就行了 输入命令 r mytcl.tcl 就进入调试,(调试不是在 console 窗口,而是在一下窗口)具 体调试根 vc差不多,呵呵,不用我罗嗦了,一些常用的如下图所示,其他的你看英文就知 道意思了。祝好运

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值