3

このエラー メッセージの根本原因を突き止めるにはどうすればよいですか?

(テスト:1090): GStreamer-CRITICAL **: gst_debug_log_valist: アサーション `category != NULL' が失敗しました

--gst-debug=GST_REFCOUNTING:5再現に 10 時間以上かかるコードの断続的な問題をデバッグするために使用しています。gst-debug エラー メッセージが表示されても、パイプラインは正常に動作しているようです。GStreamer-CRITICAL エラー メッセージについて心配する必要がありますか?

4

2 に答える 2

4

私が通常行うことは、gdb で G_DEBUG=fatal-criticals 環境変数 ( GLib マニュアルのRunning GLib Applicationsセクションを参照) を使用して gdb でプログラムを実行し、gdb を使用してバックトレースを取得することです...

G_DEBUG=fatal-criticals gdb -ex run --args ./test arg1 arg2 ...

実際に gdb でプログラムを実行したくない場合は、代わりにコア ダンプを使用できます。

トレースを取得すると、問題のあるコードをかなり簡単に見つけることができるはずです。メッセージは無害であるか、GStreamer の内部の問題である可能性がありますが、少なくとも私があなたであればチェックアウトします...そのような重大な問題は、多くの場合、セグメンテーション違反が発生するのを待っているなど、深刻な問題の兆候です。

そのメッセージの 1090 は、生成された C の行番号ではなく、 PIDを参照している可能性が高いことに注意してください。

于 2013-01-03T09:52:36.163 に答える
2

このメッセージは、コード内のどこかに、カテゴリ (GST_REFCOUNTING や のようなもの) が欠落している gstreamer ログ メッセージがあることを伝えようとしているようです。GST_REFCOUNTING メッセージに関するログ メッセージのみを表示したいので、gstreamer はこの特定のメッセージが重要かどうかを確認できません。独自のプラグインを作成したり、 Logging 関数の一部を自分で呼び出したりしない限り、これは gstreamer 自体またはそのプラグインの 1 つに問題がある可能性が高いと思います。

しかし、分類されていないログメッセージ以外に問題を引き起こすものではありません

于 2013-01-03T09:44:53.663 に答える