openSUSE:Bugreport LO
本文档介绍如何提交 LibreOffice 错误报告。
LibreOffice 错误报告
来自官方 openSUSE 发行版以及 LibreOffice:Stable 和 LibreOffice:Unstable BS 项目的 libreoffice 包中的错误,应报告到 Novell 的 bugzilla,产品为 "LibreOffice",或者上游 BugZilla:https://bugs.documentfoundation.org/
错误报告中应包含的内容
以下信息有助于我们重现或定位问题,因此修复可能更早地提供给您
- 系统版本和架构,例如:openSUSE-10.2-x86_64
- 桌面环境,例如:KDE或GNOME
- LO 标签,例如 "Tag libreoffice-3.3.0.4"。从 “帮助/关于 LibreOffice” 对话框的最后一行获取。
- 32 位 OOo 在 x86_64 系统上使用
- 软件包已从 Build Service 更新
- 重现问题的步骤
- 其他有用的详细信息(例如,屏幕截图、回溯信息、strace)
如何获取 strace 日志
在大多数情况下,以以下方式启动应用程序就足够了
strace -o /tmp/strace.log -f -tt -s 512 libreoffice
然后请执行重现问题的步骤并退出应用程序。命令libreoffice可以替换为任何其他命令,例如:lowriter请在将其附加到错误报告之前压缩日志
bzip2 /tmp/strace.log
如果 32 位 LO 在 64 位系统上运行,您需要安装软件包strace-32bit并直接启动 32 位二进制文件
cd /usr/lib/libreoffice/program strace32 -o /tmp/strace.log -f -tt -s 512 ./soffice.bin
如何获取回溯信息
当应用程序崩溃或冻结时,回溯信息很有用。您可以使用以下步骤
- 安装libreoffice*-debuginfo软件包。请注意,您需要添加 调试仓库 以获取原始 openSUSE 包。
- 使用真实二进制文件启动调试器并记录输出
cd /usr/lib/libreoffice/program
gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
- 您需要使用/usr/lib64代替/usr/lib与 64 位 OOo 一起使用。
- 在调试器内部,启动应用程序
run <options>
- 执行重现应用程序崩溃或冻结的步骤。如果出现冻结,您需要按下CTRL-C以返回 gdb 命令行。
- 打印回溯信息
backtrace
- 打印所有线程的回溯信息
thread apply all bt
- 退出调试器
quit
- 将整个gdb.log附加到错误报告。
如何获取 valgrind 日志
当应用程序崩溃或冻结并且回溯信息不足时,valgrind 日志很有用。您可以使用以下步骤
- 安装libreoffice*-debuginfo软件包。它可以在 中获取原始软件包,或者如果您已从 LibreOffice:Stable 或 LibreOffice:Unstable 更新,则可以在额外的仓库中获取。
- 使用真实二进制文件启动调试器并记录输出
cd /usr/lib/libreoffice/program
valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log
- 您需要使用/usr/lib64代替/usr/lib与 64 位 LO 一起使用。
- 执行重现应用程序崩溃或冻结的步骤。请注意,它通常可以与 valgrind 很好地配合使用,因为它有助于保持内存清洁。无论如何,它应该检测到危险并将一些有用的信息放入日志中。请注意,valgrind 会一直打印许多警告。您确实需要执行有问题步骤才能将重要数据放入日志中。
- 退出 LO
- 如果 valgring.log 大于 10kB,请压缩它
bzip2 /tmp/valgrind.log
- 将日志附加到错误报告。
: