在 Ubuntu 上“调试 AppImage”通常分几种情况:
运行不起来 / 启动崩溃 / 想分析内部程序 / 想改源码。下面按常见场景给你一套实用做法。
chmod +x xxx.AppImage
./xxx.AppImage
或:
./xxx.AppImage --appimage-extract # 仅解包,不运行
如果报错:
FUSE 相关 → 见下文GLIBC / libxxx not found → 依赖问题报错类似:
AppImage requires FUSE
解决:
sudo apt install libfuse2
(Ubuntu 24.04 可能需 libfuse2t64)
./xxx.AppImage --verbose
./xxx.AppImage --debug
(是否支持取决于程序本身)
./xxx.AppImage --appimage-extract
会生成:
squashfs-root/
cd squashfs-root
./AppRun
或:
./usr/bin/xxx
这样可以:
ldd 查依赖gdb 调试./xxx.AppImage --appimage-extract
cd squashfs-root
gdb ./AppRun
或:
gdb --args ./usr/bin/xxx arg1 arg2
./xxx.AppImage &
gdb -p $(pidof xxx)
ldd usr/bin/xxx
看到 not found 的库:
apt search libxxx
sudo apt install libxxx-dev
QT_DEBUG_PLUGINS=1 ./xxx.AppImage
LD_DEBUG=libs ./xxx.AppImage
常用:
LD_LIBRARY_PATHQT_QPA_PLATFORMGDK_BACKEND例如:
QT_QPA_PLATFORM=wayland ./xxx.AppImage
squashfs-root/ 内容appimagetool squashfs-root xxx-new.AppImage
需要安装:
sudo apt install appimagelauncher appimagetool
或从 GitHub 下载 appimagetool
| 目的 | 命令 |
|---|---|
| 运行 | ./xxx.AppImage |
| 解包 | --appimage-extract |
| 调试 | gdb ./AppRun |
| 查依赖 | ldd usr/bin/xxx |
| FUSE 错误 | sudo apt install libfuse2 |
如果你愿意,可以告诉我:
我可以直接帮你定位问题。