Skip to content
This repository has been archived by the owner on May 7, 2022. It is now read-only.

故障排查和意见反馈

xinkai edited this page Aug 10, 2014 · 6 revisions

问题解决

  • 最常见的问题,请按照这个顺序排查。

    • 页面故障(Web前端为红色):菜单文件->刷新页面
    • 清理上次运行的残余文件(socket、锁等):关闭xwared与前端,删除~/.xware-desktop/profile/tmp文件夹。
    • 确保ETM没有脱离xwared的控制:关闭xwared,使用进程管理工具,确保没有名为EmbedThunderManager的进程在运行。如果有,请杀死。
  • 其它的调试方法。

    • 重置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

“ETM持续时间连续3次不超过30秒,终止执行ETM”的调试方法

这说明你遇到的很有可能是xware的bug。你可以按照以下方法调试。

  1. 杀死/停止一切和xware有关的进程、服务。

  2. 使用未剥离debug symbol的ETM。

sudo cp <repo>/xware/EmbedThunderManager /opt/xware-desktop/xware/lib/EmbedThunderManager
  1. 运行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文件。

  1. 使用gdb。
gdb /opt/xware-desktop/xware/lib/EmbedThunderManager <产生的coredump文件>

在其中输入bt获得崩溃时的运行状态。

  1. 反馈bt的输出。

报告问题的艺术

不光是本项目,所有的软件项目都应遵循以下的方式报告问题。

  • 报告问题前:

    • 检查是否已经有人报告了相同的问题。有,则请在那个问题的报告中补充你的情况。

    • 不确定是否是相同的问题,须按照不同的问题对待。开启一份新的问题报告。

  • 报告问题时:

    • 尽可能详细地描述触发该问题的步骤触发几率等信息。

    • 一份问题报告里只描述一个问题,不描述多个问题。不确定是不是一个问题时,须按照不同的问题对待,分别开启问题报告。

  • 报告问题后:

    • 时常回到这份报告,处理这份报告的开发者可能会询问你相关问题。

意见反馈