获取 Krita 程序日志

Krita 可以生成几种不同类型的日志。根据具体情况,开发人员可能会请你提供其中一种或者全部日志。本页面介绍了如何为 Krita 开发人员或者用户支持人员收集这些必要信息。

  1. Krita 使用日志 – 此日志记录了最近 10 次 Krita 会话的使用情况 (每次启动 Krita 为一个会话),包括以下信息:启动 Krita 的时间、Krita 和操作系统的基本信息、你新建、打开、保存过的所有文件名称,包括自动保存文件。

  2. 系统信息 – 此信息并非程序日志,而是一份与 Krita 运行有关的系统详情信息文件。

  3. 崩溃日志/回溯跟踪数据 – 此日志会在 Krita 因程序内部问题而非正常关闭时自动创建。开发人员在试图解决该问题时通常需要从此日志中获取线索,以便重现崩溃和找到原因。

  4. Krita 命令行输出信息/日志查看器输出信息/DebugView 输出信息 – 这些日志记录了所有 Krita 判断为有必要汇报的大小事件。有时候这些信息里面会包含解决问题的重要线索。

本页目录

获取 Krita 使用日志

通过 Krita 的界面获取

获取 Krita 使用日志最简单的方法就是访问菜单栏: 帮助 ‣ 显示 Krita 使用日志 。这将打开一个对话框,里面显示了日志内容。

在 4.2.9 版更改: 在 4.2.0 至 4.2.8 期间,Krita 使用日志被包含系统日志中,可通过在菜单栏的 帮助 ‣ 显示系统信息 访问。在 4.1.7 或者更旧的版本中,系统日志也不包含 Krita 使用日志。

通过日志文件获取

如果无法通过 Krita 的界面获取日志/系统信息,例如软件无法打开时,你还可以通过日志文件来获取它们。日志文件是纯文本文件,可以直接双击打开。

Krita 的日志文件名为 krita.log ,它被保存在下列位置:

Linux

$HOME/.local/share/krita.log

Windows

%LOCALAPPDATA%\krita.log

macOS

$HOME/Library/Application Support/krita.log

注解

在 Windows 下你可以复制上面的路径到文件资源管理器的搜索框,系统会自动为你找到该文件。

获取崩溃日志/回溯跟踪数据

获取崩溃日志/回溯跟踪数据的方式在每种操作系统下面都不一样。

Windows

在通常情况下,提供菜单栏: 帮助 ‣ 显示 Krita 使用日志 中显示的内容已经足够,它包含了回溯跟踪数据。

如果 Krita 在启动时崩溃因而无法访问上述菜单,请提供以下文件: %LOCALAPPDATA%\kritacrash.log 。如果我们需要获取更详尽的数据,我们会邀请你按照 Dr. MinGW 调试工具 页面的说明来获取调试数据。

Linux

在 Linux 下面,人们可以通过 5 种途径安装 Krita:

  • 从 Linux 发行版内建的软件库进行安装

  • 从源代码构建 Krita

  • 通过 Snap 安装

  • 通过 Flatpak 安装

  • 使用官方 AppImage 软件包直接运行

只有前 2 种方式 (从发行版软件库安装/从源代码构建) 才能生成可用的崩溃日志/回溯数据。如果你从发行版软件库安装了 Krita,请额外安装同名但带有 -debug 或者 -dbg 后缀的调试包,具体的名称和安装方式因发行版而异。如果你从发行版软件库安装了 Krita 和它的调试包,而且你使用的是 KDE Plasma 桌面环境,Krita 在崩溃时会显示一个程序崩溃对话框,你可以在它的“Developer (开发者)”标签页中找到回溯跟踪数据。

如果你的情况与上述不符,请在命令行终端使用 gdb 来获取回溯跟踪数据。

  1. 通过 gdb 打开 Krita:

    # 如果你的 Krita 是直接从发行版的官方软件仓库安装的,你可能只需运行 'gdb krita'
    # 如果不是,请注明 krita 可执行文件的路径 (将下面 path/to 换成 Krita 所在目录)
    gdb path/to/krita
    
  2. 禁止信息分页显示:

    set pagination off
    
  3. 运行 Krita:

    run
    
  4. 做出让软件崩溃的操作。

  5. 获取回溯跟踪数据的简短版本:

    thread apply all bt
    
  6. 获取回溯跟踪数据的完整版本:

    thread apply all bt full
    
  7. 回溯跟踪数据的简短版本和完整版本将被分开保存在不同的文件中。

  8. 我们建议从简短版本的回溯跟踪文件中删除所有与其他项目相同的,貌似不能提供更多有用信息的进程的记录。这样可以方便开发人员快速确定问题所在。

    如果你感觉某一部分的回溯跟踪数据最为重要 (一般是最长的进程),可以把它剪切出来,作为一条评论粘贴到缺陷报告中。与此同时,原始的两份回溯跟踪数据文件依然要作为附件上传到缺陷报告。

    如果对此没有把握,请直接将两份回溯跟踪数据文件作为缺陷报告附件上传即可。

macOS

请使用 lldb ,按照以下说明操作:

  1. 打开终端 (Terminal.app)

  2. 通过 lldb 打开 Krita:

    lldb /Applications/krita.app/Contents/MacOS/krita
    
  3. 运行 Krita:

    run
    
  4. 做出让软件崩溃的操作。

  5. 获取回溯跟踪数据:

    thread backtrace all
    
  6. 将回溯跟踪数据保存到文本文件。

  7. 我们建议从简短版本的回溯跟踪文件中删除所有与其他项目相同的,貌似不能提供更多有用信息的进程的记录。这样可以方便开发人员快速确定问题所在。

    如果你感觉某一部分的回溯跟踪数据最为重要 (一般是最长的进程),可以把它剪切出来,作为一条评论粘贴到缺陷报告中。与此同时,原始的回溯跟踪数据文件依然要作为附件上传到缺陷报告。

    如果对此没有把握,请直接将回溯跟踪数据文件作为缺陷报告附件上传即可。

获取 Krita 输出的文本信息

Krita 的大部分文本信息可以通过 日志查看器 面板获取。但该面板无法获取 Krita 启动过程中的信息,也无法获取崩溃时的信息。

通过 Krita 的界面获取

  1. 请访问菜单栏: 设置 ‣ 面板 ‣ 日志查看器

  2. 按下面板下方第一个按钮,开始记录日志。

  3. 进行你想要被日志记录的操作。

  4. 按下面板下方第三个按钮 (保存日志),可将日志保存为一个文件。

  5. 将该日志文件作为附件上传到缺陷报告中。

通过命令行终端获取

通过命令行终端获取 Krita 日志是最可靠、最完整的方式,具体的操作在 Linux 和 macOS 下面是类似的。目前 Windows 并不支持此方式,但可以通过微软发布的 DebugView 工具 获取,后文将介绍此方式。

  1. 请在 Linux 下面打开自带的命令行终端,在 macOS 下面则打开命令行终端 ( Terminal.app )。

  2. 填写 krita 可执行文件的路径,在命令行终端中启动 krita。

    # 在 Linux 下面,从发行版官方软件库安装的 Krita:
    krita
    # 在 Linux 下面,所有其他情况:
    # - 若要在当前目录中运行 krita 可执行文件,必须使用“./krita”而不是“krita”
    # - 若指明绝对路径,请将下方的“path/to”替换为 krita 可执行文件的路径
    # - 该文件必须具备可执行权限
    path/to/krita
    # 在 macOS 下面:
    /Applications/krita.app/Contents/MacOS/krita
    
  3. 进行你想要被日志记录的操作。

  4. 复制在命令行终端窗口中生成的信息,将它作为文本附件上传到缺陷报告中。

通过 DebugView 获取

要在 Windows 下面获取 Krita 输出的完整文字信息,目前需要使用微软提供的 DebugView 工具。

  1. 从微软官方网站 下载 DebugView 工具 。点击 Download DebugView 链接 (深蓝加粗下划线) 即可下载。

  2. 下载到的文件是一个 ZIP 压缩包,请将它的内容解压到任意位置。如果你不清楚如何解压缩,请查看微软的 压缩和解压缩文件 指引页面。

  3. 解压出来的文件里面有一个 DbgView.exe 文件 (一般会在文件资源管理器中显示为 DbgView )。双击运行它。

  4. 在保持该工具运行的情况下,启动 Krita。

  5. 进行你想要被日志记录的操作。

  6. 切换到 DebugView 工具的窗口,从中复制它生成的内容,保存为文本文件并作为附件上传到缺陷报告中。