LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1219|回复: 14

希望 LumaQQ 能够将异常都记录在一个外部日志文件中

[复制链接]
发表于 2005-11-18 14:30:38 | 显示全部楼层 |阅读模式
在 Linux 下面希望可以加入一个系统选项是是否记录软件异常日志,现在用 LumaQQ 基本上一天要死20次以上,但是我设置了 log4j 确几乎没有记录任何错误,只有 ERROR 的一个错误,但那个是连接的错误,没什么用处,并不是导致 LumaQQ 直接消失的原因。

还有,能不能将只要收到的消息就自动保存在用户的消息中,而且更新最后联系人列表,不要在关闭的时候保存,因为我的 LumaQQ 几乎没有几次是真的我去正常关闭他的,全部是异常退出,经常看到别人头像在闪烁,点击就傻了,就死掉了,没法看到消息不说,下次启动了我也不知道刚才最后是谁给我发消息,也不知道她发的是什么。

我认为稳定应该是这个软件第一位要考虑的,不然根本无法让用 Linux 的人使用,希望 luma 能考虑一下稳定性方面多增加一些投入,辛苦了。
发表于 2005-11-18 16:28:39 | 显示全部楼层
版本?.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 17:46:13 | 显示全部楼层
LumaQQ 2004T 9月25日的版本
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 17:50:27 | 显示全部楼层
几个比较突出的问题,在网络慢的时候只要是登录的时候你做其他事情比如点击查看资料或者鼠标移动到某个人上面出现那个浮动资料,就很容易死掉。

出来系统消息或者用户加好友的请求的时候点击也容易死,我也不知道是什么东西,反正是喇叭出来我一点就死,都没看到过几次喇叭的真实内容。

还有一次是刷新用户 QQ Show 的时候点击了那个资料页的其他 Tab 页,结果也死了。

还有一次,窗口在打字的时候焦点被 Gaim 抢了,结果也死掉了。

目前能记得的就这些,但最经常的还是莫名其妙不知道怎么了就不见了,那个时候我一般在工作,没有注意到,等我想要用的时候发现不见了。
回复 支持 反对

使用道具 举报

发表于 2005-11-18 17:57:27 | 显示全部楼层
安装目录, log4j.properties文件
第一行
error 改成debug

然后从console启动,就有log了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 20:29:15 | 显示全部楼层
debug 的 log 太多了吧,对了刚才终于弄到一些错误。

Exception in thread "Listener" org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
        at org.eclipse.swt.SWT.error(SWT.java:2942)
        at org.eclipse.swt.SWT.error(SWT.java:2865)
        at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:178)
        at org.eclipse.swt.widgets.Display.syncExec(Display.java:3366)
        at edu.tsinghua.lumaqq.ui.QQEventProcessor.processClusterGetInfoSuccess(QQEventProcessor.java:1237)
        at edu.tsinghua.lumaqq.ui.QQEventProcessor.qqEvent(QQEventProcessor.java:244)
        at edu.tsinghua.lumaqq.qq.QQClient.fireQQEvent(QQClient.java:1799)
        at edu.tsinghua.lumaqq.qq.BasicFamilyProcessor.processClusterGetInfoReply(BasicFamilyProcessor.java:1052)
        at edu.tsinghua.lumaqq.qq.BasicFamilyProcessor.processClusterCommandReply(BasicFamilyProcessor.java:549)
        at edu.tsinghua.lumaqq.qq.BasicFamilyProcessor.packetArrived(BasicFamilyProcessor.java:261)
        at edu.tsinghua.lumaqq.qq.ProcessorRouter.packetArrived(ProcessorRouter.java:60)
        at edu.tsinghua.lumaqq.qq.QQClient.firePacketArrivedEvent(QQClient.java:2382)
        at edu.tsinghua.lumaqq.qq.net.ListenerThread.run(ListenerThread.java:83)
Caused by: java.lang.NullPointerException
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:315)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:294)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:297)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:297)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.refresh(QTreeViewer.java:233)
        at edu.tsinghua.lumaqq.ui.helper.BlindHelper.refreshGroup(BlindHelper.java:363)
        at edu.tsinghua.lumaqq.ui.QQEventProcessor$39.run(QQEventProcessor.java:1273)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2844)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2575)
        at edu.tsinghua.lumaqq.ui.MainShell.open(MainShell.java:408)
        at edu.tsinghua.lumaqq.LumaQQ.main(LumaQQ.java:138)
Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
        at org.eclipse.swt.SWT.error(SWT.java:2942)
        at org.eclipse.swt.SWT.error(SWT.java:2865)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2844)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2575)
        at edu.tsinghua.lumaqq.ui.MainShell.open(MainShell.java:408)
        at edu.tsinghua.lumaqq.LumaQQ.main(LumaQQ.java:138)
Caused by: java.lang.NullPointerException
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:315)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:294)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:297)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.doUpdateChildren(QTreeViewer.java:297)
        at edu.tsinghua.lumaqq.widgets.qstyle.QTreeViewer.refresh(QTreeViewer.java:233)
        at edu.tsinghua.lumaqq.ui.helper.BlindHelper.refreshGroup(BlindHelper.java:363)
        at edu.tsinghua.lumaqq.ui.QQEventProcessor$39.run(QQEventProcessor.java:1273)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
        ... 4 more
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 20:32:29 | 显示全部楼层
其实我建议增加一个全局的非法监测,只要有 Exception 抛出就全局捕获然后发给一个调试服务器,这样方便发现 BUG 和修正程序,对于不会提交 BUG 的用户也有很大帮助。

log4j 我之前就配置好了,写到日志文件里面了,可是我用的是 INFO 级别,基本没有任何信息,所以才说了那个建议的。

后来我是用

$JAVA_HOME/bin/java -Djava.library.path=$PREFIX/swt -classpath $cp edu.tsinghua.lumaqq.LumaQQ "$HOME/.lumaqq" >> $PREFIX/log/out.log 2>>$PREFIX/log/err.log

这个方式捕获到后来的异常的。
回复 支持 反对

使用道具 举报

发表于 2005-11-18 21:18:00 | 显示全部楼层
这个错误是经典错误,经典的意思是有些人总是出现,但是我就是碰不到
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-18 22:06:23 | 显示全部楼层
哈哈,看来我属于那个比较容易碰到的部分,刷新的父节点没有值,改一下吧,我还不太了解你的机制,无从下手,最好能给个 Path 我升级一下,我现在几乎每次接受到消息都会死
回复 支持 反对

使用道具 举报

发表于 2005-11-19 00:16:49 | 显示全部楼层
你有删掉~/.lumaqq,然后重试过吗?
你要是真这么频繁,那就是个测试的好材料,可以把号码给我试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表