如何生成 VLC 堆栈跟踪?

如何生成 VLC 堆栈跟踪?

我已经举报了一个VLC 错误gdb并包括的输出bt full,但项目代表的回应是痕迹“不完整”。如何生成可供开发人员使用的跟踪?他们的文档和错误反馈没有说明如何执行此操作。

答案1

按照您提供的链接,您的问题唯一有意义的部分是他们要求符号堆栈跟踪。但对于解释并没有什么帮助怎么做

(例如,对于那些不知道或不记得的人,只能通过使用调试信息编译二进制文件来获得符号堆栈跟踪)

我发现另一个 VLC 页面在该主题上更有帮助,并且比链接到的页面更好。

调试-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 - 报告错误

相关内容