社区
Linux/Unix社区
帖子详情
gdb tui调试显示混乱问题
luow010101
2016-10-18 08:52:33
系统Ubuntu12.04
gdb7.4
小弟初学gdb,在使用tui进行调试时本应显示在命令窗口的打印信息却显示在了源代码窗口还有汇编窗口,而且显示混乱,有人知道是咋回事么?
...全文
1298
3
打赏
收藏
gdb tui调试显示混乱问题
系统Ubuntu12.04 gdb7.4 小弟初学gdb,在使用tui进行调试时本应显示在命令窗口的打印信息却显示在了源代码窗口还有汇编窗口,而且显示混乱,有人知道是咋回事么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nswcfd
2017-03-20
打赏
举报
回复
不好意思没有及时回复。 1)首先新打开一个终端,用tty命令查看当前终端设备名字,比如/dev/pts/1 2)然后在gdb里面,在使用run命令运行程序之前,使用tty <终端名>设置程序的输出(例如/dev/pts/1或者pts/1); 3)运行程序,这样程序的输出就不会送到gdb/tui所在的终端,而是1)打开的终端。 4)如果程序还需要从标准输入读,注意这会跟1)里的bash冲突(因为bash也在等待新的命令输入),此时,最简单的方法是,在1)里执行sleep 10000,让终端停在sleep程序里,这样就可以为gdb的程序提供输入了。 5)注意,4)有个缺点,pts/1的终端控制信号(例如^C)会终止sleep,却不会终止被gdb的程序。
nswcfd
2016-10-28
打赏
举报
回复
当前tty既被gdb使用又被app使用,输出不混乱才怪。 可以使用gdb的tty命令为app指定其它的tty。
mhpmii
2016-10-26
打赏
举报
回复
我也想知道,gdb调试的时候代码行乱跳是怎么回事,求解答
GDB
调试
说明
linux系统下
gdb
调试
说明,linux下应用开发
调试
可参考,详细
所以:堆栈溢出的终端接口
所以:堆栈溢出的终端接口
gdb
tui
模式下
显示
混乱
解决方案
在
gdb
启动前会读取.
gdb
init文件,而在 .
gdb
init 文件中,你可以使用 define 关键字来创建自定义命令。这些自定义命令可以包含一系列的
GDB
命令,当你调用这个自定义命令时,
GDB
会依次执行这些命令。我们只需要自定义原本的下一步的命令快捷键c,n,使其附带刷新功能就行了。
TUI
模式下的刷新机制并不是真正的“
gdb
反正因为兼容性
问题
一定会
混乱
,预期把目标设置为避免
gdb
的
tui
模式下出现
混乱
,不如调整为
gdb
出现
混乱
后执行某些操作使其恢复正常,后者更具有普适性。
gdb
调试
时程序输出导致
tui
显示
混乱
的解决方式
1)首先新打开一个终端,用tty命令查看当前终端设备名字,比如/dev/pts/1 2)然后在
gdb
里面,在使用run命令运行程序之前,使用tty <终端名>设置程序的输出(例如/dev/pts/1或者pts/1); 3)运行程序,这样程序的输出就不会送到
gdb
/
tui
所在的终端,而是1)打开的终端。 4)如果程序还需要从标准输入读,注意这会跟1)里的bash冲突(因为bash也在等待...
笔记:
gdb
在
tui
模式下,通过自动刷新解决界面
混乱
的
问题
在
gdb
的
tui
模式下,可看到源码,并自动跟踪代码行,很方便。 但在运行next、continue或其他指令后,界面有时会变得
混乱
,需手动执行refresh指令进行刷新后才可恢复正常,很繁琐。 通过在
gdb
的初始化文件中新增自定义指令,覆盖默认的指令即可解决。
Linux/Unix社区
23,215
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章