这几年我很少进调试间自己调试程序了,往往是学生调程序时过去看看,给点参考意见。不过因为疫情,学生都不在学校,今年在调试间的时间比这几年加起来都多,经常要帮学生抓个数据,或者亲自上马完成项目交付。
有个学生给我写了一个详细的操作指南,并特别贴心地写下注意事项:
4、若测试过程中出现误操作(比如多输入了一个p)或者是需要退出程序重新运行,需要Ctrl+C退出程序,cd../cfg,返回上层文件夹重新配置芯片(即返回第三部分的第4步),./start_up.sh成功后再按照步骤重新运行vdes_tx.elf。
这让我感觉非常奇怪,仅仅多打一个字母,就要把程序退出并把前面的工作再做一遍,多麻烦的操作呀。实际操作了一下,发现在xshell输入指令时,按下回退键(Backspace),屏幕上并不会是真正的回退删除效果,而是出现“^H”字符。于是就出现前面提到的Ctrl+C操作。这个解决方案估计是某位德高望重的前辈师兄留下的,因为我在两个不同项目组的学生那里都看到了这个“技巧”。
正确的解决方案应该是这样的:在xshell中用鼠标选中要修改的连接,在右键菜单中选择“属性”,在对话框中选择“终端|键盘”。图1是默认的设置。在这个界面中可以看到,不同终端协议对DELETE键和BACKSPACE键的定义是不同。默认的Backspace键对应的是Ctrl+H,对应到我们的设备上就是是^H。