0

我正在用 python 和 gtk3 编写一个文本编辑器,当我关闭一个窗口时,我不断从 glib 中的某个地方收到模糊的警告:

/usr/lib/python2.7/dist-packages/gi/types.py:47: Warning: invalid (NULL) pointer instance
  return info.invoke(*args, **kwargs)

我该如何调试呢?我尝试在 gdb 中运行它,希望我可以从 g_logv 的断点中学到一些东西,但是警告出现但没有触发断点。由于https://bugzilla.gnome.org/show_bug.cgi?id=670507 ,我也无法轻松替换日志处理程序。

我什至尝试更改消息中引用的 python 文件,以便它始终在该点打印 python 回溯,但无论是否发生错误都必须这样做,并且在每个 gobject 方法调用时都会调用它,所以很难解释结果,它仍然没有告诉我关于哪个指针为空的任何信息。

4

1 回答 1

1

如果您想使用 gdb,只需运行脚本并将 G_DEBUG 环境变量设置为“fatal-warnings”(G_DEBUG=fatal-warnings ./your-script.py)。GLib 手册的运行 GLib 应用程序部分中有文档。

于 2012-12-02T23:47:38.670 回答