获取 Krita 程序日志

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

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

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

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

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

本页目录

获取 Krita 使用日志

通过 Krita 的界面获取

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

通过日志文件获取

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

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

Linux

$HOME/.local/share/krita.log

Windows

%LOCALAPPDATA%\krita.log

macOS

$HOME/Library/Application Support/krita.log

安卓
  • Play 商店版本:<storage>/Android/data/org.krita/files/krita.log

  • Krita Next 版本:<storage>/Android/data/org.krita.next/files/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 在启动时立即崩溃,请提供以下文件的内容: <storage>/Android/data/org.krita/files/kritacrashlog.txt

Logcat (安卓)

如需获取 Krita 的 logcat 日志,请获取并分享位于主菜单的帮助 ‣ 显示 Krita 安卓日志的内容。

获取 Krita 输出的文本信息

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

通过 Krita 的界面获取

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

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

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

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

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

通过命令行终端获取

命令行终端是获取 Krita 的文本输出消息的最可靠手段。此方式在 Linux 和 macOS 下面的操作类似。

在 5.0 版更改: Windows 也可以通过 krita.com 可执行程序使用此方式。

备注

krita.com 可执行程序将使用命令行模式窗口启用 Krita。Krita 从 5.0 版起支持此功能。如果你正在使用旧版 Krita,或者希望不通过命令行模式直接使用 krita.exe 可执行程序获取日志,请参见DebugView 使用指引

  1. Windows 用户请在开始菜单中输入 cmd.exe 后按 回车键 。macOS 用户下请打开 Terminal.app。Linux 用户请打开你喜欢的任意一款终端程序。

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

    # 在 Linux 环境,从软件仓库安装的 Krita:
    krita
    # 在 Linux 环境,所有其他情况:
    # - 若要在当前目录中运行 krita 可执行文件,必须使用“./krita”而不是“krita”
    # - 若指明绝对路径,请将下方的“path/to”替换为 krita 可执行文件的路径
    # - 该文件必须具备可执行权限
    可执行文件路径/krita
    
    # 在 macOS 环境:
    /Applications/krita.app/Contents/MacOS/krita
    
    REM  在 Windows 环境:
    REM  在默认状态下,cmd.exe 倾向于优先运行 .COM 文件而不是 .EXE 文件
    REM  你也可以尝试忽略 .COM 文件扩展名
    "C:\Program Files\Krita (x64)\bin\krita.com"
    
  3. 进行你想要被日志记录的操作。

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

通过 DebugView 获取

要在 Windows 下面使用 Krita 的图形界面获取程序的文本输出消息,你需要使用一款名为 DebugView 的外部程序。与命令行终端相比,DebugView 的优势在于能够记录日志事件的时间戳。

  1. 从微软官方网站下载 DebugView 工具。点击 Download DebugView 链接即可下载。

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

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

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

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

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