Page 1 of 1

How to debug VLC using gdb

Posted: 23 Aug 2006 03:16
by tedyyan
vlc version:
0.8.5
gcc version:
4.1.1
my compile option:

Code: Select all

./configure --enable-x11 --enable-xvideo --disable-gtk --enable-sdl --enable-ffmpeg --with-ffmpeg-mp3lame --enable-mad --enable-libdvbpsi --enable-a52 --enable-dts --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-faac --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-livedotcom --with-livedotcom-tree=/usr/lib/live --enable-caca --enable-skins --enable-skins2 --disable-kde --disable-qt --enable-wxwidgets --enable-ncurses --enable-debug --with-ffmpeg-tree=/home/teddy_linux/streamedia/ffmpeg

compile env varible:
CFLAGS=-g or -ggdb or -g3
CXXFLAGS=-g or -ggdb or -g3

I also tried to use --enable-release and CFLAGS=-ggdb or CFLAGS=-g3 or CFLAGS=-g but all failed. I got two different results:
One: (with --enable-debug or set CFLAGS or set CXXFLAGS) vlc file size

Code: Select all

13,019,266 [teddy_linux@bmitestbj vlc-0.8.5]$ gdb ./vlc GNU gdb Red Hat Linux (5.3.90-0.20030710.40rh) Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) list Segmentation fault

The other: (with --enable-release without set CFLAGS and CXXFLAGS)

Code: Select all

[teddy_linux@bmitestbj vlc-0.8.5]$ gdb ./vlc GNU gdb Red Hat Linux (5.3.90-0.20030710.40rh) Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) list 1 utils.c: No such file or directory. in utils.c (gdb) break vlc.c:200 No source file named vlc.c.
where is utils.c? Is there no vlc.c?

Thanks
Teddy

Posted: 23 Aug 2006 17:04
by nantonop
erm...

are you sure your compilation is ok? you shouldn't have to alter C(XX)FLAGS at all if you use --enable-debug... vlc.c is under /vlc-0.8.5/src and contains the main()...