Probleemoplossing
Als u een probleem ondervindt met OpenShot, zoals vastlopen, crashen of een foutmelding, zijn er verschillende technieken die nuttig kunnen zijn bij het oplossen van het probleem.
Windows 11 reageert niet
Als u een vastloper ervaart op Windows 11, is dit een bekend probleem met PyQt5 en Windows 11, gerelateerd aan de toegankelijkheidsfuncties in Qt. Dit wordt veroorzaakt door het indrukken van Ctrl+C in OpenShot (alleen op Windows 11). OpenShot wordt dan niet meer responsief en er is ook een geheugenlek aanwezig (hoe langer OpenShot niet reageert, hoe groter het geheugenlek wordt totdat OpenShot uiteindelijk crasht of de gebruiker het proces beëindigt).
Een eenvoudige oplossing is om Ctrl+C op Windows 11 te vermijden en in plaats daarvan de kopieer-/plakmenu’s via de rechtermuisknop te gebruiken. Een andere oplossing is om de toetscombinatie voor “Kopiëren” van Ctrl+C naar iets anders te wijzigen, bijvoorbeeld Alt+C. U kunt uw toetsenbordindelingen wijzigen in de OpenShot-voorkeuren. Zie Toetsenbord.
Windows-debugging met GDB
Als u een crash of vastloper ervaart met OpenShot op Windows 10/11, helpen de volgende stapsgewijze instructies u de oorzaak van de crash te achterhalen. Deze instructies tonen een stacktrace van de broncode van OpenShot op de locatie van de crash. Deze informatie kan zeer nuttig zijn voor ons ontwikkelingsteam en is ook handig om toe te voegen aan bugrapporten (voor een snellere oplossing).
Installeer de nieuwste dagelijkse build
Download voordat u een debugger koppelt de nieuwste versie van OpenShot: https://www.openshot.org/download#daily. Installeer deze versie van OpenShot op de standaardlocatie: C:\Program Files\OpenShot Video Editor\. Voor gedetailleerde instructies over het debuggen van OpenShot op Windows, zie deze wiki.
Installeer MSYS2
De Windows-versie van OpenShot is gecompileerd met een omgeving genaamd MSYS2. Om de GDB-debugger aan onze uitvoerbare file openshot-qt.exe te koppelen, moet u eerst MSYS2 installeren. Deze stap is slechts één keer nodig.
Download en installeer MSYS2: http://www.msys2.org/
Start de opdrachtprompt
MSYS2 MinGW x64(bijvoorbeeld:C:\msys64\msys2_shell.cmd -mingw64)Werk alle pakketten bij (Kopieer/plak het volgende commando):
pacman -SyuInstalleer de GDB-debugger (Kopieer/plak het volgende commando):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
Start OpenShot met de GDB-debugger
Start de opdrachtprompt MSYS2 MinGW x64 (bijvoorbeeld: C:\msys64\msys2_shell.cmd -mingw64)
Werk het PATH bij (Kopieer/plak de volgende commando’s):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
Laad OpenShot in de GDB-debugger (Kopieer/plak de volgende commando’s):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
Start OpenShot vanuit de GDB-prompt (Kopieer/plak het volgende commando):
run --debug
Print debug-informatie
Zodra OpenShot succesvol is gestart met GDB gekoppeld, hoeft u alleen maar een crash of vastloper in OpenShot te veroorzaken. Wanneer er een crash optreedt, schakelt u terug naar de MSYS2 MinGW64-terminal en voert u een van de volgende commando’s uit (door het te typen en op ENTER te drukken). Meestal is het eerste commando bt, wat staat voor backtrace. Meer commando’s staan hieronder vermeld.
(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)