以下清單包含回報 MySQL Workbench 錯誤時有用的提示與資訊。
有用的錯誤回報包含
重現錯誤的確切步驟,若錯誤難以重現,最好以影片呈現。
螢幕截圖,如果錯誤是視覺上的。
錯誤訊息,包括傳送到 stdout 和 GUI 的文字。
-
MySQL Workbench 日誌檔案的副本。
日誌檔案位置可在 MySQL Workbench 內使用
、 找到。
無法重現的錯誤很難甚至幾乎不可能修復,因此提供重現錯誤的必要步驟非常重要。
在哪裡回報錯誤
造訪 http://bugs.mysql.com/ 並使用其中一個 MySQL Workbench
錯誤類別。
日誌層級
共有六種不同的日誌層級,詳細程度遞增:error
、warning
、info
、debug1
、debug2
和 debug3
。預設情況下,會啟用 error
、warning
和 info
層級。還有一個 none
層級會停用日誌記錄。
請在產生要回報的日誌前啟用 debug3
層級。
可以透過環境變數、使用命令列參數或將日誌層級指定為偏好設定選項(請參閱其他偏好設定)來設定已啟用的錯誤日誌層級。
環境變數、命令列變體和偏好設定選項接受單一日誌層級,但啟用更詳細的選項也會隱含地啟用其下的層級。例如,傳入 info
也會啟用 error
和 warning
層級。
-
環境變數:
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\[使用者]\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 特有。