GStreamer CRITICAL**:gst\u debug\u log\u valist:assertion`category!=空';失败?

GStreamer CRITICAL**:gst\u debug\u log\u valist:assertion`category!=空';失败?,gstreamer,vala,Gstreamer,Vala,如何查找此错误消息的根本原因 (测试:1090):GStreamer CRITICAL**:gst\u debug\u log\u valist:assertion `类别!=“NULL”失败 我正在使用--gst debug=gst\u REFCOUNTING:5调试代码中的间歇性问题,这些问题可能需要10个多小时才能重现。即使有gst调试错误消息,管道似乎也能正常工作。我是否应该关注GStreamer严重错误消息 这条消息似乎试图告诉您,代码中的某个地方有一条gstreamer日志消息,它只

如何查找此错误消息的根本原因

(测试:1090):GStreamer CRITICAL**:gst\u debug\u log\u valist:assertion `类别!=“NULL”失败


我正在使用
--gst debug=gst\u REFCOUNTING:5
调试代码中的间歇性问题,这些问题可能需要10个多小时才能重现。即使有gst调试错误消息,管道似乎也能正常工作。我是否应该关注GStreamer严重错误消息

这条消息似乎试图告诉您,代码中的某个地方有一条gstreamer日志消息,它只是缺少一个类别(如GST\u REFCOUNTING或)。由于您只想查看有关GST\u REFCOUNTING消息的日志消息,gstreamer无法确定此特定消息是否重要。除非你们已经编写了自己的插件或者给自己打过电话,否则我猜这很可能是gstreamer本身或者它的一个插件的问题


但是除了分类错误的日志消息之外,它不会引起任何问题。我通常在gdb中使用gdb中的G_DEBUG=fatal criticals环境变量(参见GLib手册的一节)运行程序,然后。。。差不多

G_DEBUG=fatal-criticals gdb -ex run --args ./test arg1 arg2 ...
如果您不想在gdb中实际运行该程序,您可以

一旦你得到一个跟踪,你应该能够很容易地找到有问题的代码。该消息可能是无害的和/或GStreamer内部的问题,但如果我是你,我至少会检查一下。。。像这样的关键事件通常是一个严重问题的指示器,比如等待发生的故障

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