عیبیابی
اگر با OpenShot مشکلی مانند توقف ناگهانی، کرش یا پیام خطا مواجه هستید، روشهای مختلفی برای عیبیابی این مشکل وجود دارد.
عدم پاسخگویی در ویندوز ۱۱
اگر در ویندوز ۱۱ با توقف برنامه مواجه شدید، این یک مشکل شناختهشده در PyQt5 و ویندوز ۱۱ است که به ویژگیهای دسترسی در Qt مربوط میشود. این مشکل با فشردن Ctrl+C در OpenShot ایجاد میشود (فقط در ویندوز ۱۱). در این حالت OpenShot پاسخگو نخواهد بود و نشت حافظه نیز رخ میدهد (یعنی هرچه OpenShot بیشتر پاسخگو نباشد، نشت حافظه بزرگتر میشود تا اینکه OpenShot کرش کند یا کاربر فرآیند را متوقف کند).
راهحل ساده این است که در ویندوز ۱۱ از Ctrl+C استفاده نکنید و به جای آن از منوی راستکلیک کپی/پیست استفاده کنید. راهحل دیگر این است که کلید «کپی» را از Ctrl+C به کلید دیگری مانند Alt+C تغییر دهید. میتوانید تنظیمات صفحهکلید را در تنظیمات OpenShot تغییر دهید. به صفحهکلید مراجعه کنید.
اشکالزدایی ویندوز با GDB
اگر در ویندوز ۱۰/۱۱ با کرش یا توقف OpenShot مواجه هستید، دستورالعملهای گام به گام زیر به شما کمک میکند علت کرش را پیدا کنید. این دستورالعملها یک ردپای پشته از کد منبع OpenShot در محل کرش نمایش میدهند. این اطلاعات برای تیم توسعه ما بسیار مفید است و برای پیوست به گزارشهای باگ (برای حل سریعتر) بسیار کاربردی است.
نصب آخرین نسخه روزانه
قبل از اتصال اشکالزدای برنامه، لطفاً جدیدترین نسخه OpenShot را از https://www.openshot.org/download#daily دانلود کنید. این نسخه را در محل پیشفرض نصب کنید: C:\Program Files\OpenShot Video Editor\. برای دستورالعملهای دقیق درباره اشکالزدایی OpenShot در ویندوز، به این ویکی مراجعه کنید.
نصب MSYS2
نسخه ویندوز 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
اجرای OpenShot با اشکالزدای GDB
اجرای خط فرمان 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
اجرای OpenShot از خط فرمان GDB (دستور زیر را کپی/پیست کنید):
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)