如何报告LibreOffice中的bug

From The Document Foundation Wiki
< QA‎ | BugReport
Jump to: navigation, search
报告LibreOffice中bug的最简单的方法是使用 Bug 提交助手,它将指导您完成整个bug报告流程。需要注意的是,使用Bug提交助手bug(或者直接在LibreOffice官方的bug追踪系统提交bug)需要使用英文,其他语言的bug报告将会被忽略。

任何时候、有关提交bug流程的任何问题,您都可以在 #libreoffice-qa connect via webchat 上寻求帮助。

Only read beyond this point if you really want to manually do bug wrangling directly in bugzilla.


LibreOffice bug 报告

LibreOffice 软件包中的 bug 应在bugzilla报告,所针对的产品为“LibreOffice”。请转到英文的bug报告wiki页面How to Report Bugs in LibreOffice阅读详细的bug报告流程和注意事项。

请注意在 bugzilla 中报告bug需要使用英语。

备选 bug 报告途径

如果您觉得到bugzilla报告问题有困难(比如,您不懂英文),请到 LibreOffice中文社区 寻求帮助,在”反馈程序Bug”版块提交bug,让愿意帮忙的人代您向bugzilla提交。

错误报告中应包括哪些内容

以下信息有助于重现或定位问题,以便尽早为您解决问题:

  • 系统版本与架构,如 openSUSE 11.2 on x86_6432-bit Windows 7
  • 对于 Linux 平台,使用的是什么桌面,如 KDEGNOME
  • LibreOffice 的版本,如 4.1.6 还是 4.2.5. 您可在“帮助/关于 LibreOffice”对话框中获取版本号。如果使用的是预编译版的LibreOffice,对于Linux平台,请讲清软件包管理系统中显示的 LibreOffice 软件包的确切版本;对于 Windows 平台,请讲清安装程序的确切文件名称,以及下载自何处。
  • 是否是在 64 位 (Linux) 的系统上运行了 32 位的 LibreOffice
  • 如果不是 LibreOffice 的官方编译版本,请说明软件包来源。
  • 重现问题的步骤
  • 其他有用的细节(如屏幕截图、backtrace、strace 等信息)

如何获取 strace 日志 (Linux 平台)

大多数情况下,这样启动程序已足够:

strace -o /tmp/strace.log -f -tt -s 512 libreoffice

然后请执行重现问题的步骤,并退出程序。如果未安装桌面整合,可以用 /opt/libreoffice/program/soffice 特别指定来替代 libreoffice 命令。

将日志附加到错误报告之前,请先将其压缩:

bzip2 /tmp/strace.log

如果是在 64 位的系统上运行 32 位的 LibreOffice,您需要安装 strace-32bit 软件包并直接启动 32 位版的二进制程序:

cd /opt/libreoffice/program
strace32 -o /tmp/strace.log -f -tt -s 512 ./soffice.bin

如何获取 backtrace (Linux 平台)

backtrace 信息在应用程序崩溃或假死的时候有用。您可以采取下述步骤:

  1. 安装 libreoffice*-debuginfo 软件包(如果可用,或从您的 linux 发布版中安装)。
  2. 以真实二进制模式启动调试器,并记录输出:
    cd /opt/libreoffice/program
    
    gdb ./soffice.bin 2>&1 | tee /tmp/gdb.log
    
  3. 在调试器内,启动应用程序:
    run <options>
    
  4. 执行令应用程序崩溃或假死的步骤。如果遇到假死,您需要按 CTRL-C 调回 gdb 命令行。
  5. 列出 backtrace:
    backtrace
    
  6. 列出所有线程的 backtrace:
    thread apply all bt
    
  7. 退出调试器
    quit
    
  8. 将整个 gdb.log 附加到错误报告当中。

如何获取 valgrind 日志 (Linux 平台)

valgrind 日志在应用程序崩溃或假死,且 backtrace 不足够的时候有用。您可以采取下述步骤:

  1. 安装 libreoffice*-debuginfo 软件包。(如果可用,或从您的 linux 发布版中安装)
  2. 以真实二进制模式启动调试器,并记录输出:
    cd /opt/libreoffice/program
    
    valgrind --tool=memcheck --num-callers=128 --trace-children=yes ./soffice.bin 2>&1 | tee /tmp/valgrind.log
    
  3. 执行令应用程序崩溃或假死的步骤。需要注意的是在 valgrind 环境下通常执行得很好,因为该环境有助于保持内存清洁。总之,它会侦测危险并在日志中记下有用的信息。注意 valgrind 总是输出很多警告信息。您需要执行产生问题的步骤方可将重要数据输出至日志当中。
  4. 退出 LibreOffice
  5. 如果 valgring.log 的尺寸大于 10kB,请先将其压缩
    bzip2 /tmp/valgrind.log
    
  6. 将日志附加到错误报告当中。