3

我该如何追查此错误消息的根本原因?

(测试:1090):GStreamer-CRITICAL **:gst_debug_log_valist:断言“类别!= NULL”失败

--gst-debug=GST_REFCOUNTING:5用来调试代码中可能需要 10 多个小时才能重现的间歇性问题。即使有 gst-debug 错误消息,管道似乎也能正常工作。我应该担心 GStreamer-CRITICAL 错误消息吗?

4

2 回答 2

4

我通常做的是在 gdb 中使用 G_DEBUG=fatal-criticals 环境变量(请参阅 GLib 手册的运行 GLib 应用程序部分)在 gdb 中运行程序,并使用 gdb 获取回溯......类似于

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

如果您不想在 gdb 中实际运行该程序,您可以改用核心转储

一旦你得到跟踪,你应该能够相当容易地找到有问题的代码。该消息可能是无害的和/或 GStreamer 内部的问题,但如果我是您,我至少会检查一下……这样的批评通常表明存在严重问题,例如等待发生的段错误。

请注意,该消息中的 1090 可能指的是PID,而不是生成的 C 中的行号。

于 2013-01-03T09:52:36.163 回答
2

看起来这条消息试图告诉您代码中某处的 gstreamer 日志消息只是缺少一个类别(如 GST_REFCOUNTING 或 )。由于您只想查看有关 GST_REFCOUNTING 消息的日志消息,因此 gstreamer 无法确定此特定消息是否重要。除非您编写了自己的插件或自己调用了一些日志记录功能,否则我猜这很可能是 gstreamer 本身或其插件之一的问题。

但除了分类错误的日志消息之外,它不应该引起任何麻烦

于 2013-01-03T09:44:53.663 回答