故障排除
如果您在使用 OpenShot 時遇到凍結、當機或錯誤訊息等問題,有許多不同的方法可以協助您排除故障。
Windows 11 無回應
如果您在 Windows 11 上遇到凍結,這是 PyQt5 與 Windows 11 之間已知的問題,與 Qt 的輔助功能有關。此問題會在 OpenShot 中按下 Ctrl+C 時觸發(僅限 Windows 11 )。OpenShot 將變得無回應,且會發生記憶體洩漏(即 OpenShot 無回應的時間越長,記憶體洩漏越嚴重,直到 OpenShot 最終當機或使用者終止程序)。
簡單的解決方法是在 Windows 11 上避免使用 Ctrl+C ,改用滑鼠右鍵的複製/貼上選單。另一種方法是將「複製」的快捷鍵從 Ctrl+C 重新映射到其他按鍵,例如 Alt+C 。您可以在 OpenShot 偏好設定中更改鍵盤映射。請參閱 鍵盤 。
Windows 上使用 GDB 除錯
如果您在 Windows 10/11 上使用 OpenShot 時遇到當機或凍結,以下逐步說明將協助您找出當機原因。這些指示會顯示 OpenShot 原始碼中當機位置的堆疊追蹤。此資訊對我們的開發團隊非常有用,也適合附加於錯誤回報中(以加快問題解決速度)。
安裝最新的每日版本
在附加除錯器之前,請下載 OpenShot 的**最新版本** : https://www.openshot.org/download#daily。將此版本安裝到預設位置:C:\Program Files\OpenShot Video Editor\ 。有關在 Windows 上除錯 OpenShot 的詳細說明,請參閱 ` 此維基 <https://github.com/OpenShot/openshot-qt/wiki/Windows-Debugging-with-GDB>`_ 。 this wiki
安裝 MSYS2
Windows 版本的 OpenShot 是使用名為 MSYS2 的環境編譯。要將 GDB 除錯器附加到執行檔 openshot-qt.exe ,您必須先安裝 MSYS2。此步驟只需執行一次。
下載並安裝 MSYS2:http://www.msys2.org/
執行
MSYS2 MinGW x64命令提示字元(例如:C:\msys64\msys2_shell.cmd -mingw64)更新所有套件(複製/貼上以下指令 ):
pacman -Syu安裝 GDB 除錯器(複製/貼上以下指令 ):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
使用 GDB 除錯器啟動 OpenShot
執行 MSYS2 MinGW x64 命令提示字元(例如:C:\msys64\msys2_shell.cmd -mingw64 )
更新 PATH(複製/貼上以下指令 ):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
將 OpenShot 載入 GDB 除錯器(複製/貼上以下指令 ):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
從 GDB 提示字元啟動 OpenShot(複製/貼上以下指令 ):
run --debug
列印除錯資訊
當 OpenShot 成功啟動並附加 GDB 後,您只需在 OpenShot 中觸發當機或凍結。當發生當機時,切換回 MSYS2 MinGW64 終端機,執行以下其中一個指令(輸入後按 ENTER)。通常第一個輸入的指令是 bt ,代表 backtrace 。更多指令列於下方。
(gdb) run (launch openshot-qt.exe)
(gdb) CTRL + C (to manually break out OR wait for a crash / segmentation fault)
(gdb) bt (Print stack trace for the current thread #)
(gdb) info threads (to view all threads, and what they are doing. Look for `__lll_lock_wait` for Mutex/deadlocks)
(gdb) thread 35 (Switch to thread number, for example thread 35)