Risoluzione dei problemi
Se riscontri un problema con OpenShot, come un blocco, un arresto anomalo o un messaggio di errore, esistono diverse tecniche utili per risolvere il problema.
Windows 11 non risponde
Se riscontri un blocco su Windows 11, si tratta di un problema noto con PyQt5 e Windows 11, legato alle funzionalità di accessibilità in Qt. Questo si verifica premendo Ctrl+C in OpenShot (solo su Windows 11). OpenShot diventerà non rispondente e sarà presente anche una perdita di memoria (cioè, più a lungo OpenShot non risponde, maggiore sarà la perdita di memoria fino a quando OpenShot non si bloccherà definitivamente o l’utente terminerà il processo).
Una soluzione semplice è evitare Ctrl+C su Windows 11 e utilizzare invece i menu Copia/Incolla con il tasto destro. Un’altra soluzione è rimappare il comando «Copia» da Ctrl+C a un altro tasto, ad esempio Alt+C. Puoi modificare le mappature della tastiera nelle Preferenze di OpenShot. Vedi Tastiera.
Debug di Windows con GDB
Se riscontri un arresto anomalo o un blocco con OpenShot su Windows 10/11, le seguenti istruzioni passo passo ti aiuteranno a determinare la causa del problema. Queste istruzioni mostreranno una traccia dello stack del codice sorgente di OpenShot, nel punto in cui si è verificato il crash. Queste informazioni possono essere estremamente utili per il nostro team di sviluppo e molto utili da allegare ai report di bug (per una risoluzione più rapida).
Installa l’ultima versione Daily Build
Prima di collegare un debugger, scarica la versione più recente di OpenShot: https://www.openshot.org/download#daily. Installa questa versione di OpenShot nella posizione predefinita: C:\Program Files\OpenShot Video Editor\. Per istruzioni dettagliate sul debug di OpenShot su Windows, consulta questa wiki.
Installa MSYS2
La versione Windows di OpenShot è compilata usando un ambiente chiamato MSYS2. Per collegare il debugger GDB al nostro eseguibile, openshot-qt.exe, devi prima installare MSYS2. Questo passaggio è richiesto una sola volta.
Scarica e installa MSYS2: http://www.msys2.org/
Esegui il prompt dei comandi
MSYS2 MinGW x64(per esempio:C:\msys64\msys2_shell.cmd -mingw64)Aggiorna tutti i pacchetti (Copia/Incolla il seguente comando):
pacman -SyuInstalla il debugger GDB (Copia/Incolla il seguente comando):
pacman -S --needed --disable-download-timeout mingw-w64-x86_64-toolchain
Avvia OpenShot con il debugger GDB
Esegui il prompt dei comandi MSYS2 MinGW x64 (per esempio: C:\msys64\msys2_shell.cmd -mingw64)
Aggiorna il PATH (Copia/Incolla i seguenti comandi):
export PATH="/c/Program Files/OpenShot Video Editor/lib:$PATH"
export PATH="/c/Program Files/OpenShot Video Editor/lib/PyQt5:$PATH"
Carica OpenShot nel debugger GDB (Copia/Incolla i seguenti comandi):
cd "/c/Program Files/OpenShot Video Editor"/
gdb openshot-qt.exe
Avvia OpenShot dal prompt GDB (Copia/Incolla il seguente comando):
run --debug
Stampa informazioni di debug
Una volta che OpenShot è stato avviato con successo con GDB collegato, devi solo provocare un crash o un blocco in OpenShot. Quando si verifica un crash, torna al terminale MSYS2 MinGW64 ed esegui uno dei seguenti comandi (digitandolo e premendo INVIO). Di solito, il primo comando da inserire è bt, che sta per backtrace. Altri comandi sono elencati di seguito.
(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)