GDB 远程调试 - 无法为默认可视化器实例化打印机

Posted

技术标签:

【中文标题】GDB 远程调试 - 无法为默认可视化器实例化打印机【英文标题】:GDB Remote Debugging - Cannot instantiate printer for default visualizer 【发布时间】:2020-05-10 05:07:31 【问题描述】:

在 eclipse 中设置远程 gdb 调试。调试器将很好地单步执行代码,但是所有变量都显示以下错误:

1) 执行 MI 命令失败: -var-create - var_Name 来自调试器后端的错误消息:无法为默认可视化工具实例化打印机

基本上,变量不会显示值。 .gdbinit 文件是否有解决此问题的设置,或 eclipse 中的其他设置?

远程设备使用NFS挂载localhost /path/to/app 编译器:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf localhost:运行 linux mint 19.2 并使用 arm-linux-gnueabihf-gdb

远程:gdbserver :port /path/to/app

user@localhost:/ gdb --version
GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1

【问题讨论】:

【参考方案1】:

从 Eclipse 主窗口:Window -> Preferences -> C/C++ -> Debug -> GDB : 在 Pretty Printing 区域下,取消选择“Enable pretty printers in variable/expression tree”

然后单击“应用”和“应用并关闭”中提琴,现在在远程调试会话期间会打印出变量。不需要更改我的 .gdbinit 文件。

也许我没有使用支持 python 的 GDB...我不确定。

【讨论】:

以上是关于GDB 远程调试 - 无法为默认可视化器实例化打印机的主要内容,如果未能解决你的问题,请参考以下文章

GDB远程调试:无法停止线程

Linux学习: 使用gdb和gdbserver进行远程调试

gdb 调试远程核心转储

无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目

gdb可以跟踪内存分配日志

GDB远程调试,好像找不到符号