The debug symbols of Windows builds don't contain any useful debug info
Debugging #28492 was made a lot harder for me since I used the supplied debug symbols (http://get.videolan.org/vlc/3.0.20/win64/vlc-3.0.20-win64-debugsym.7z) don't really contain debug info of vlc itself.
If you load any of the symbol files in gdb, and call info sources
, you see that there are only gcc and mingw-w64 sources, but nothing from vlc.
From what I can tell it's because vlc is built without -g
, in one of the recent build logs (https://code.videolan.org/videolan/vlc/-/jobs/1620610/raw) I see these lines:
+ CFLAGS= -D__MSVCRT_VERSION__=0x700 -D_WIN32_WINNT=0x0601 -DWINVER=0x0601
+ CXXFLAGS= -D__MSVCRT_VERSION__=0x700 -D_WIN32_WINNT=0x0601 -DWINVER=0x0601
Because these don't contain -g
, the following configure call will also generate makefiles without -g
.
I'm surprised this wasn't noticed (much) earlier, since the debug symbols files are kinda useless like this. They contain only function symbols, so you can see function names in a backtrace, but no exact line information, and no variables.
Some years ago it was possible to debug vlc with the provided symbol files of releases and nightly builds, since I did this sometimes when comparing different behaviors, but now I would have to build vlc myself just to be able do debug.
Also I imagine debug info would be useful for crashdump analysis.