MySQL Workbench 手册  /  如何报告错误或问题

附录 D 如何报告错误或问题

以下是报告 MySQL Workbench 错误的一些有用技巧和信息。

一份有用的错误报告包括:

  • 重现错误所采取的确切步骤,如果错误难以重现,最好是视频。

  • 如果错误是可见的,请提供屏幕截图。

  • 错误消息,包括发送到标准输出和 GUI 的文本。

  • MySQL Workbench 日志文件的副本。

    日志文件位置可以使用 MySQL Workbench 中的帮助查找日志文件找到。

无法重现的错误很难甚至不可能修复,因此提供重现错误所需的步骤非常重要。

在哪里报告错误

访问 http://bugs.mysql.com/ 并使用 MySQL Workbench 错误类别之一。

日志级别

有六种不同的日志级别,详细程度递增:errorwarninginfodebug1debug2debug3。默认情况下,errorwarninginfo 级别是启用的。还有一个 none 级别,用于禁用日志记录。

重要

请在生成报告日志之前启用 debug3 级别。

可以使用环境变量、命令行参数或将日志级别指定为首选项选项(请参阅其他首选项)来配置启用的错误日志级别。

环境变量、命令行变量和首选项选项接受单个错误级别,但启用更详细的选项会隐式启用其下的级别。例如,传入 info 也会启用 errorwarning 级别。

  • 环境变量:WB_LOG_LEVEL

    命令行选项:--log-level

注意

如果同时设置了命令行和环境变量,则命令行优先。

例如

# Microsoft Windows
$> cd "C:\Program Files (x86)\MySQL\MySQL Workbench CE 8.0.38\"
$> MySQLWorkbench.exe --log-level=debug3

# macOS
$> cd /Applications
$> MySQLWorkbench --log-level=debug3

# Linux (Ubuntu)
$> cd /usr/bin
$> mysqlworkbench --log-level=debug3

如果启用了 info 级别,则还会记录系统信息和应用程序中使用的所有路径。在 Microsoft Windows 上,这也意味着日志文件包含程序当前活动的完整环境变量集。

操作系统特定说明

Microsoft Windows

  • 日志文件位置:靠近用户的应用程序数据文件夹,例如 Microsoft Windows 10 的 C:\Users\[user]\AppData\Roaming\MySQL\Workbench\log

  • 如果出现错误(或异常),日志文件将包含 MySQL Workbench 可以跟踪到的堆栈跟踪(通常只有 C# 代码,没有 C++ 代码)。此外,如果启用了警告(或更高级别)日志级别,则所有警告都会添加到日志中。

  • 如果发生崩溃,并且 MySQL Workbench 团队无法复制该崩溃,并且无法获取堆栈跟踪,我们将请求崩溃转储。有关启用崩溃转储的说明,请参见此处,另请阅读 MSDN 关于此的详细信息,因为我们需要完整的转储,而不是迷你转储。

  • 对于与显示问题相关的崩溃,请使用 -swrendering 参数启动 MySQL Workbench(并且仅在这种情况下,因为它会关闭 OpenGL 渲染,这在 WBA 或 WQE 中没有用处)。此输出将添加到日志文件中。

  • 如果 MySQL Workbench 在启动时崩溃(尤其是当错误报告中包含有关 kernelbase.dll 的内容时),我们将要求您在 MySQLWorkbench.exe 二进制文件上运行 depends.exe,并询问报告的错误。

  • 如果 MySQL Workbench 在启动时崩溃,并且是 64 位版本的 Microsoft Windows,请检查是否安装了正确的 MSVC 运行时。人们通常会安装 64 位版本的运行时,但只有 32 位版本的运行时才能正常工作。

macOS

  • 日志文件位置:~/Library/Application Support/MySQL/Workbench/logs

  • 为 Workbench 生成的系统崩溃日志位于 ~/Library/Logs/DiagnosticReports/MySQLWorkbench*

Linux

  • 日志文件位置:~/.mysql/workbench/log

  • 对于崩溃,我们可能会要求提供可以通过 gdb 生成的堆栈跟踪,步骤如下:

    注意

    由于发布的 MySQL Workbench 版本缺少调试符号,因此此步骤是可选的,并且可能不需要。

    • 在 shell 中,执行 source /usr/bin/mysql-workbench

    • 退出 MySQL Workbench

    • 在 shell 中,执行 gdb /usr/bin/mysql-workbench-bin

    • 在 gdb 界面中,键入 run

    • 在 MySQL Workbench 中,重现崩溃

    • 在 gdb 界面中,键入 bt

  • 如果发生崩溃,还要运行 glxinfo。如果这也崩溃了,那么这就是一个与 OpenGL 相关的驱动程序/X 服务器问题,而不是 MySQL Workbench 特有的问题。