shell - 使用管道时奇怪的二进制符号
问题描述
我正在使用这个脚本来编译我的程序并在我的嵌入式板上调试它:
#!/bin/bash
# Recompile:
make clean
make
# Erase memmory and upload the program:
{ echo 'connect';
echo '';
echo '';
echo '';
echo '';
echo 'erase';
echo 'loadbin program.bin , 0x0';
echo 'r';
echo 'q'; } | JLinkExe
# Kill any JLinkExeGDBServer:
killall JLinkGDBServer
# Set up the GDB server and connect with GDB:
JLinkGDBServer -device LPC4088 & sleep 2s && \
{ echo 'dashboard -layout source';
echo 'dashboard source -style context 14';
echo 'file program.elf';
echo 'target remote :2331';
echo 'monitor reset';
cat; } | arm-none-eabi-gdb
在我运行这个脚本之后,所有的命令都执行得很好,但是 GDB 中有某种二进制符号(截图),看起来 GDB 中的自动完成功能根本不起作用。此外,一些 GDB 命令完全被破坏了。如果我只使用arm-none-eabi-gdb
而不提供它,则通过管道|
GDB 的命令再次正常工作。
但我需要通过这些命令......
我~/.gdbinit
从GDB Dashboard使用,但即使我删除它,问题仍然存在。
解决方案
当您以这种方式调用 gdb 时,它不会直接连接到您的终端。您可能应该改为考虑使用命令文件启动 gdb - 如果您将这些命令放入一个名为“myscript”的文件中,然后使用 --command=myscript 调用 gdb
那应该以正确的方式完成您想要的设置。
推荐阅读
- php - 如何将公司徽标添加到 paypals SDK V2
- python - NotImplementedError:Layer DenseVariational 在 `__init__` 中有参数,因此必须覆盖 `get_config`
- forms - RASA - 如果未验证值,如何管理表单的两步回退
- ckeditor - TYPO3 ck_editor 从 IMG-Tag 中删除类属性
- c# - C# - txtbox.Undo() 对于 Del 键没有按预期工作
- html-table - 在鼠标从上到下移动时,td 的边框在 Edge(V-91) 中消失。如果您从表格的底部滚动或移动鼠标,它会重新出现
- swift - NSToolbarItem 添加没有标签的图像按钮?(苹果系统)
- python - 每次我运行我的程序时,我都会收到“请输入您的手机(或机器人令牌):”
- reactjs - TypeError:date.getDate 不是函数 ReactJS
- apache-spark - Hive 中的更改列,在 Spark SQL 结果中显示 Null 值