トラブルシューティング
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のデバッグ手順の詳細は ` こちらのWiki <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 -SyuGDBデバッガをインストールする(以下のコマンドをコピー&ペースト ):
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"
GDBデバッガにOpenShotを読み込む(以下のコマンドをコピー&ペースト ):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
GDBプロンプトからOpenShotを起動する(以下のコマンドをコピー&ペースト ):
run --debug
デバッグ情報を表示する
GDBを接続してOpenShotが正常に起動したら、OpenShotでクラッシュやフリーズを発生させてください。クラッシュが発生したら、MSYS2 MinGW64のターミナルに戻り、以下のコマンドのいずれかを入力してENTERを押します。通常、最初に入力するコマンドは bt (バックトレースの意味)です。その他のコマンドも以下に記載されています。
(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)