如何在 CLion 中自动加载 gdb 的漂亮打印机

问题描述 投票:0回答:2

我为我的用户定义的 C++ 类编写了一些 GDB 漂亮的打印机,它们按预期工作。

我的 IDE 是 CLion,问题是我必须在第一次调试会话时从 gdb 中手动运行“source PrettyPrinters.py”。

如何让 CLion 自动加载这些文件?

我知道有一个名为 .gdbinit 的文件。我尝试将我的 python 脚本放入此文件中。我还尝试将“source PrettyPrinters.py”放入此文件中,但这些尝试都没有成功。

注意,我使用的是 CLion 附带的 GDB 捆绑版本。

gdb clion
2个回答
0
投票

回答我自己的问题:

  1. 将“.gdbinit”文件添加到 clion 项目的根目录。
  2. 将包含漂亮打印机定义的 python 脚本放置在适当的目录中。 (我使用这个路径和文件名:'project-root/gdb-pretty-printers/PrettyPrinters.py')
  3. 将命令“source project-root/gdb-pretty-printers/PrettyPrinters.py”添加到(1)中提到的.gdbinit文件中。

打开文件“~/.config/gdb/gdbinit”,或者创建它(如果它不存在)。将命令“add-auto-load-safe-path project-root/.gdbinit”添加到此文件中。

GDB 现在应该在下一次调试会话时自动加载漂亮的打印机(您不需要重新启动 clion)。


0
投票

@Michelle 感谢分享。但我没有成功。需要捆绑gdb还是可以使用系统的gdb?

我正在尝试使Qt类型打印得漂亮。从here获取漂亮的打印机脚本。我将此文件夹放在

/home/andrey/kde6/src/kde-dev-scripts/gdb/
中。

我的项目根目录是

/home/andrey/kde6/src/ark/

/home/andrey/kde6/src/ark/.gdbinit
中我输入:

source /home/andrey/kde6/src/kde-dev-scripts/gdb/load-qt5printers.py

在我的

/home/andrey/.config/gdb/gdbinit
中我写道:

add-auto-load-safe-path /home/andrey/kde6/src/ark/.gdbinit

现在,当我开始在 CLion 中调试时,我看不到漂亮的打印类型。我做错了什么?

有没有办法检查你的漂亮打印机是否确实已加载?我想确定这一点,这样如果问题仍然存在,则意味着它可能在脚本本身中。

© www.soinside.com 2019 - 2024. All rights reserved.