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