This repository has been archived by the owner on May 7, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 256
故障排查和意见反馈
xinkai edited this page Aug 10, 2014
·
6 revisions
-
最常见的问题,请按照这个顺序排查。
- 页面故障(Web前端为红色):菜单
文件
->刷新页面
。 - 清理上次运行的残余文件(socket、锁等):关闭
xwared
与前端,删除~/.xware-desktop/profile/tmp
文件夹。 - 确保
ETM
没有脱离xwared
的控制:关闭xwared
,使用进程管理工具,确保没有名为EmbedThunderManager
的进程在运行。如果有,请杀死。
- 页面故障(Web前端为红色):菜单
-
其它的调试方法。
- 重置xware/ETM:关闭
ETM
,删除~/.xware-desktop/profile/cfg
。 - 重置挂载:关闭
ETM
与前端,删除~/.xware-desktop/profile/etc/mounts
。 - 重置前端:关闭前端,删除
~/.xware-desktop/profile/etc/frontend.ini
。 - 重置xwared:关闭
xwared
,删除~/.xware-desktop/profile/etc/xwared.ini
。
- 重置xware/ETM:关闭
这说明你遇到的很有可能是xware
的bug。你可以按照以下方法调试。
-
杀死/停止一切和xware有关的进程、服务。
-
使用未剥离debug symbol的ETM。
sudo cp <repo>/xware/EmbedThunderManager /opt/xware-desktop/xware/lib/EmbedThunderManager
- 运行ETM。
/opt/xware-desktop/chmns bash
会给你一个新的shell。(这个shell的路径是PROFILE/tmp
,不要改变它。)在其中执行
# 让崩溃的进程产生coredump
ulimit -c unlimited
# 加载etmpatch.so,然后运行ETM
LD_PRELOAD=/opt/xware-desktop/etmpatch.so /opt/xware-desktop/xware/lib/EmbedThunderManager --verbose
如果发生崩溃,则会在PROFILE/tmp
文件夹下产生coredump文件。
- 使用gdb。
gdb /opt/xware-desktop/xware/lib/EmbedThunderManager <产生的coredump文件>
在其中输入bt
获得崩溃时的运行状态。
- 反馈
bt
的输出。
不光是本项目,所有的软件项目都应遵循以下的方式报告问题。
-
报告问题前:
-
检查是否已经有人报告了相同的问题。有,则请在那个问题的报告中补充你的情况。
-
不确定是否是相同的问题,须按照不同的问题对待。开启一份新的问题报告。
-
-
报告问题时:
-
尽可能详细地描述触发该问题的步骤、触发几率等信息。
-
一份问题报告里只描述一个问题,不描述多个问题。不确定是不是一个问题时,须按照不同的问题对待,分别开启问题报告。
-
-
报告问题后:
- 时常回到这份报告,处理这份报告的开发者可能会询问你相关问题。