0

私はpythonとgtk3でテキストエディタを書いていますが、ウィンドウを閉じると、glib内のどこかから漠然とした警告が表示され続けます。

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

どうすればこれをデバッグできますか?g_logvのブレークポイントから何かを学習できる可能性があることを期待して、gdbで実行しようとしましたが、ブレークポイントをトリガーせずに警告が表示されます。https://bugzilla.gnome.org/show_bug.cgi?id=670507のため、ログハンドラーを簡単に置き換えることもできません。

メッセージで参照されているPythonファイルを変更して、その時点で常にPythonバックトレースを出力するようにしようとしましたが、エラーが発生するかどうかに関係なく、すべてのgobjectメソッド呼び出しで呼び出されるため、困難です。結果を解釈するために、それでもどのポインタがnullであるかについては何も教えてくれません。

4

1 に答える 1

1

gdb を使用する場合は、G_DEBUG 環境変数を "fatal-warnings" ( G_DEBUG=fatal-warnings ./your-script.py) に設定してスクリプトを実行するだけです。GLib マニュアルのRunning GLib Applicationsセクションにドキュメントがあります。

于 2012-12-02T23:47:38.670 に答える