openSUSE:Bugreport OOo

跳转到:导航搜索


本文档介绍如何提交 OpenOffice.org 错误报告。 另请参阅 如何报告 LibreOffice 中的错误

OpenOffice_org 错误报告

来自官方 openSUSE 发行版Build Service 项目 的 OpenOffice_org 包中的错误应报告到 Novell 的 bugzilla,产品为 "OpenOffice.org"

错误报告中应包含的内容

以下信息有助于我们重现或定位问题,因此修复可能更早地提供给您

  • 系统版本和架构,例如:openSUSE-10.2-x86_64
  • 桌面环境,例如:KDEGNOME
  • 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 非常有用。 您可以使用以下步骤

  1. 安装OpenOffice_org*-debuginfo软件包。 请注意,您需要添加 调试仓库 以获取原始 openSUSE 包。
  2. 使用真实二进制文件启动调试器并记录输出
    cd /usr/lib/ooo3/program
    gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
    您需要使用/usr/lib64代替/usr/lib与 64 位 OOo。
  3. 在调试器内部,启动应用程序
    run <options>
  4. 执行重现应用程序崩溃或冻结的步骤。 如果出现冻结,您需要按CTRL-C以返回 gdb 命令行。
  5. 打印 backtrace
    backtrace
  6. 打印所有线程的 backtrace
    thread apply all bt
  7. 退出调试器
    quit
  8. 将整个gdb.log附加到错误报告。


如何获取 valgrind 日志

当应用程序崩溃或冻结并且 backtrace 不够时,valgrind 日志很有用。 您可以使用以下步骤

  1. 安装OpenOffice_org*-debuginfo软件包。 它在原始软件包的 或从其更新的 中可用。
  2. 使用真实二进制文件启动调试器并记录输出
    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。
  3. 执行重现应用程序崩溃或冻结的步骤。 请注意,它通常可以与 valgrind 一起正常工作,因为它有助于保持内存清洁。 无论如何,它应该检测到危险并将一些有用的信息放入日志中。 请注意,valgrind 会一直打印许多警告。 您确实需要执行有问题步骤才能将重要数据放入日志中。
  4. 退出 OOo
  5. 如果 valgring.log 大于 10kB,请压缩它
    bzip2 /tmp/valgrind.log
  6. 将日志附加到错误报告。