gdb-multiarch中Backspace删除整行问题及修复求助
修复gdb-multiarch中Backspace与Ctrl+Backspace行为异常的方案
一、确认gdb实际加载的inputrc文件
启动gdb-multiarch后,直接执行以下命令:
show inputrc
该命令会直接输出gdb读取的配置文件路径,比strace更高效准确。
二、修正inputrc键映射配置
问题根源是Windows Terminal发送的键码与gdb/bash默认识别逻辑不匹配:Windows Terminal中,Backspace发送的是\C-?(显示为^?),Ctrl+Backspace发送的是\C-h(显示为^H),和Linux原生终端的键码逻辑相反。
编辑gdb加载的inputrc文件(比如~/.inputrc),添加或覆盖以下配置:
# 让Backspace删除单个字符 "\x7f": backward-delete-char # 让Ctrl+Backspace删除整行 "\C-h": backward-kill-line
保存文件后:
- 重启
gdb-multiarch即可生效 - bash环境下执行
bind -f ~/.inputrc立即生效,或重启bash
三、验证终端键码(可选)
在bash中先按Ctrl+V,再分别按Backspace和Ctrl+Backspace,终端会显示对应的键码字符,以此确认键码与配置的对应关系是否正确。
若无法修复的Bug提交渠道
- GNU GDB官方Bug跟踪系统:gdb-multiarch属于GNU GDB项目的一部分,可直接提交到GDB官方bug平台。
- MinGW-w64项目仓库:你使用的是MinGW-w64编译的gdb版本,也可提交到MinGW-w64的项目维护渠道。
内容的提问来源于stack exchange,提问作者sdbbs
相关产品推荐
相关产品推荐

