如何调试我的C gstreamer代码?

Fop*_*tin 3 c debugging gstreamer

我成功地计划和执行helloworld.c应用程序开发手册第43页.它工作得很好.

编译是使用此命令行完成的

gcc -Wall helloworld.c -o helloworld $(pkg-con?g --c?ags --libs gstreamer-1.0)
Run Code Online (Sandbox Code Playgroud)

我正在使用我的默认gstreamer ubuntu 12.0.4.

我担心调试我的程序,我知道这可以使用命令行选项来实现GST_DEBUG.以下是qtdemux在csv文件中生成调试报告的示例.

GST_DEBUG=qtdemux:5 gst-launch filesrc location=/home/pub_Irma.mp4 ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! ffmpegcolorspace ! autovideosink 2> > (tee /media/thesis/log_pub.csv)
Run Code Online (Sandbox Code Playgroud)

但由于我没有使用gst-launch,我想知道如何以编程方式做同样的事情?手动代码中缺少什么来生成调试报告?或者在编译或/和执行程序时是否设置了特殊参数?

我试过这种方式编译

gcc $2 -o $3 -Wall `pkg-config --cflags --libs gstreamer-0.10 --enable-gst-debug`
Run Code Online (Sandbox Code Playgroud)

但没有成功

谢谢你的回复!

Fop*_*tin 5

我终于发现这可以通过以这种方式运行程序在执行时完成

GST_DEBUG=oggdemux:5 ./helloworld file.ogg
Run Code Online (Sandbox Code Playgroud)

上面的例子调试ogg demuxer