gdb 怎么不显示输入
时间: 2024-05-17 18:14:29 浏览: 8
在使用 gdb 调试程序时,输入命令后可能会出现无法显示输入的问题。这通常是因为 gdb 将输入和输出都重定向到了程序的标准输入和标准输出上,导致用户无法看到自己输入的内容。
要解决这个问题,可以使用 gdb 的 tty 命令将输入和输出重定向回终端。具体操作如下:
1. 在 gdb 中输入 tty 命令,可以看到当前输入和输出的设备。
2. 使用 set inferior-tty /dev/tty 命令将输入和输出重定向回终端。
3. 重新运行程序并进入调试模式,此时输入就可以正常显示了。
注意,如果你的程序使用了 curses 或 ncurses 库,可能还需要使用 set env TERM xterm 命令来设置终端类型,否则可能会出现终端显示不正常的问题。
相关问题
clion gdb显示qstring
在使用CLion进行调试时,可以通过设置GDB的显示格式来显示QString。具体操作如下:
1. 在菜单栏中选择“Run” -> “Edit Configurations”。
2. 选择要调试的项目,点击“Debugger”选项卡。
3. 在“GDB debugger”输入框中输入GDB的路径,例如/usr/bin/gdb。
4. 在“GDB command line options”输入框中输入以下命令:-exec "set print pretty on" -exec "set print elements unlimited"
5. 点击“Apply”和“OK”保存设置。
这样,在调试时,当QString对象被输出时,它将以可读的方式显示在控制台中。
gdb 如何设置显示行号
在使用 gdb 调试程序时,可以通过设置显示行号来更方便地查看代码。设置方法如下:
1. 启动 gdb
2. 输入命令 `list`,查看当前位置附近的代码行
3. 如果需要显示行号,可以使用命令 `set list`,启用行号显示
4. 如果需要关闭行号显示,可以使用命令 `unset list`
示例:
```
$ gdb my_program
(gdb) list // 查看代码
(gdb) set list // 启用行号显示
(gdb) list // 查看带行号的代码
(gdb) unset list // 关闭行号显示
```