我如何追查此错误消息的根本原因?
(测试:1090):GStreamer-CRITICAL **:gst_debug_log_valist:断言 `category!= NULL'失败
我正在使用--gst-debug=GST_REFCOUNTING:5
调试代码中的间歇性问题,这些问题可能需要10个多小时才能重现。即使使用gst-debug错误消息,管道似乎也能正常工作。我应该关注GStreamer-CRITICAL错误消息吗?
答案 0 :(得分:4)
我通常做的是在gdb中使用Gdb中的g_DEBUG =致命临界环境变量运行程序(参见GLib手册的Running GLib Applications部分)和use gdb to get a backtrace ...类似< / p>
G_DEBUG=fatal-criticals gdb -ex run --args ./test arg1 arg2 ...
如果您不想在gdb中实际运行程序,可以use a core dump instead。
一旦获得跟踪,您应该能够非常轻松地找到有问题的代码。这条消息可能是无害的和/或GStreamer内部的问题,但我至少会检查一下,如果我是你......这样的批评通常是一个严重问题的指标,比如等待发生的段错误。
请注意,该消息中的1090可能是指PID,而不是生成的C中的行号。
答案 1 :(得分:2)
看起来这条消息试图告诉你代码中的某个地方有一个gstreamer日志消息,它只缺少一个类别(一个像GST_REFCOUNTING或者)。由于您只想查看有关GST_REFCOUNTING消息的日志消息,因此gstreamer无法确定此特定消息是否重要。除非你自己编写了自己的插件或者自己调用了一些Logging functions,否则我猜这很可能是gstreamer本身或其中一个插件的问题。
但除了错误分类的日志消息之外,它不会引起任何麻烦