[vlc-devel] How to GDB into MJPEG decoder - What source file to set breakpoint?

Ed Sutton ESutton at fescorp.com
Mon Jan 26 18:01:15 CET 2009

What VLC source file calls the M-JPEG decoder during playback?

I am a Linux newbie trying to determine: 1) I have a GDB user error, 2) not putting the break points in the correct source file, or 3) have not loaded symbolic information correctly.  My goal is to understand how a frame-based decoder works and learn GDB.  It appears that VLC uses FFMPEG for the M-JPEG decoding.  I built everything with the debug option.  I am still trying to understand how gdb loads symbol information needed to set break points. The gdb debugging learning curve is steep for one used to IDE's.  

I play back the M-JPEG video in VLC using:

/usr/local/av/bin/vlc -vvv udp://@:1234

I run GDB and try unsuccessfully to hit a breakpoint in one of the libvacodec modules using:

gdb /usr/local/av/bin/vlc
(gdb) break mjpegdec.c:ff_mjpeg_decode_sof
(gdb) #gdb says no source file found and I tell it "Yes" to put a breakpoint on future *shared library load*
(gdb) Run -vvv udp://@:1234

Is my problem that gdb never finds the ffmpeg symbolic info?  Or am I in the wrong source code?

When I do a "ldd vlc" I do not see any shared libs with the ffmpeg name so I assume it is static linked. I do see a libvlc.so.2 and a libvlccore.so.0" among others.

Thanks in advance for any direction,


More information about the vlc-devel mailing list