答案1
按照您提供的链接,您的问题唯一有意义的部分是他们要求符号堆栈跟踪。但对于解释并没有什么帮助怎么做。
(例如,对于那些不知道或不记得的人,只能通过使用调试信息编译二进制文件来获得符号堆栈跟踪)
我发现另一个 VLC 页面在该主题上更有帮助,并且比链接到的页面更好。
编译 VLC 媒体播放器时,您
必须在 ./configure 脚本上使用 --enable-debug 编译调试二进制文件。
在正在讨论的情况下,根据前面提到的链接,我将此处的 can 替换为 Must。
它的用途是什么
当然,在调试模式下编译的二进制文件的行为将或应该类似于发行版(或多或少)。差异是:
- 出于开发目的,开发人员可以在达到可疑状态时导致 VLC 崩溃,而发布版本不会处于相同的可疑状态
二进制回溯在此模式下有意义,因为其中嵌入了符号。
如何启用它
如上所述,您基本上只需在 ./configure 阶段添加 CFLAGS="-g" CXXFLAGS="-g" --enable-debug 参数即可。
要单步执行代码,更好的方法是执行 CFLAGS="-g -Og" CXXFLAGS="-g -Og" 并添加 --disable-optimizations 而不是使用 --enable-release。将 -Og 替换为 -O0 以防止编译器优化变量。
因此,在编译调试二进制文件后,您现在可以向开发人员发送一份错误报告,描述您所做的导致崩溃的操作以及“gdb bt full”。
也可以看看:VLC - 报告错误