gpt4 book ai didi

python pretty-print parse_and_eval

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:12 25 4
gpt4 key购买 nike

有谁知道当从 gdb 调用 pretty-print 时如何判断给定变量是否有效。

例如,我的一台 pretty-print 使用 gdb.parse_and_eval ,这会导致 gdb 崩溃,除非变量已初始化。

TestPrettyPrint::TestPrettyPrint(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
QFile f("C:/Log.txt");
}

如果我在第一行放置一个断点并尝试检查“f”gdb 崩溃。如果我在创建“f”之后放置一个断点,一切都会很好。

任何信息都会非常有帮助

谢谢

最佳答案

无法判断变量是否有效。

首先,此信息在调试信息中不可用。准确地说,DWARF 有一个 GCC 扩展来提供此信息,但它没有明确说明并且实际上不起作用;无论如何,它不会暴露给 GDB 中的 Python。

第二,即使有信息,也不能解决问题。任何内存都可能被错误毁掉。

答案是 pretty-print 具有适应性。您可以使用现有的“打印”设置来限制发出的垃圾量。

如果 gdb 崩溃,那么这是一个应该报告的 gdb bug。我知道 bugzilla 中已经有类似的东西,尽管 IIRC 它没有复制说明。这是修复错误最重要的事情。

关于python pretty-print parse_and_eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com