Fehlerbehebung
Wenn Sie ein Problem mit OpenShot haben, wie z. B. Einfrieren, Absturz oder Fehlermeldung, gibt es verschiedene Techniken, die bei der Fehlerbehebung hilfreich sein können.
Windows 11 reagiert nicht
Wenn Sie unter Windows 11 ein Einfrieren erleben, handelt es sich um ein bekanntes Problem mit PyQt5 und Windows 11, das mit den Bedienungshilfen in Qt zusammenhängt. Dies wird durch Drücken von Ctrl+C in OpenShot ausgelöst (nur unter Windows 11). OpenShot reagiert nicht mehr und es tritt ein Speicherleck auf (d. h. je länger OpenShot nicht reagiert, desto größer wird das Speicherleck, bis OpenShot schließlich abstürzt oder der Benutzer den Prozess beendet).
Eine einfache Lösung besteht darin, Ctrl+C unter Windows 11 zu vermeiden und stattdessen die Rechtsklick-Menüs für Kopieren/Einfügen zu verwenden. Eine weitere Möglichkeit ist, die Tastenkombination für „Kopieren“ von Ctrl+C auf eine andere, z. B. Alt+C, umzubelegen. Sie können Ihre Tastaturbelegungen in den OpenShot-Einstellungen ändern. Siehe Tastatur.
Windows-Debugging mit GDB
Wenn OpenShot unter Windows 10/11 abstürzt oder einfriert, helfen Ihnen die folgenden Schritt-für-Schritt-Anleitungen, die Ursache des Absturzes zu ermitteln. Diese Anleitungen zeigen einen Stack-Trace des OpenShot-Quellcodes an der Absturzstelle. Diese Informationen sind für unser Entwicklerteam äußerst nützlich und sollten an Fehlerberichte angehängt werden (für eine schnellere Lösung).
Installieren Sie die neueste Daily-Build-Version
Bevor Sie einen Debugger anhängen, laden Sie bitte die neueste Version von OpenShot herunter: https://www.openshot.org/download#daily. Installieren Sie diese Version von OpenShot am Standardort: C:\Program Files\OpenShot Video Editor\. Für detaillierte Anweisungen zum Debuggen von OpenShot unter Windows siehe diese Wiki-Seite.
Installieren Sie MSYS2
Die Windows-Version von OpenShot wird in einer Umgebung namens MSYS2 kompiliert. Um den GDB-Debugger an unsere ausführbare Datei openshot-qt.exe anzuhängen, müssen Sie zuerst MSYS2 installieren. Dieser Schritt ist nur einmal erforderlich.
Laden Sie MSYS2 herunter und installieren Sie es: http://www.msys2.org/
Starten Sie die Eingabeaufforderung
MSYS2 MinGW x64(zum Beispiel:C:\msys64\msys2_shell.cmd -mingw64)Aktualisieren Sie alle Pakete (Kopieren/Einfügen des folgenden Befehls):
pacman -SyuInstallieren Sie den GDB-Debugger (Kopieren/Einfügen des folgenden Befehls):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
Starten Sie OpenShot mit dem GDB-Debugger
Starten Sie die Eingabeaufforderung MSYS2 MinGW x64 (zum Beispiel: C:\msys64\msys2_shell.cmd -mingw64)
Aktualisieren Sie den PATH (Kopieren/Einfügen der folgenden Befehle):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
Laden Sie OpenShot in den GDB-Debugger (Kopieren/Einfügen der folgenden Befehle):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
Starten Sie OpenShot aus der GDB-Eingabeaufforderung (Kopieren/Einfügen des folgenden Befehls):
run --debug
Debugging-Informationen ausgeben
Sobald OpenShot erfolgreich mit angehängtem GDB gestartet wurde, müssen Sie nur noch einen Absturz oder Einfrieren in OpenShot auslösen. Wenn ein Absturz auftritt, wechseln Sie zurück zum MSYS2 MinGW64-Terminal und führen einen der folgenden Befehle aus (indem Sie ihn eingeben und ENTER drücken). Üblicherweise ist der erste Befehl bt, was für backtrace steht. Weitere Befehle sind unten aufgeführt.
(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)