本文主要是介绍Siebel Crash 问题分析思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Siebel Crash 问题分析思路
FDR文件 :飞行数据记录器 Flight Data Recorder
当siebel页面发生崩溃时,一般就是会发生crash问题,
会在/siebel/siebsrvr/bin目录下面生成一个fdr文件,用来记录发生crash之前系统内存中的信息
Fdr文件以fdr后缀结尾,可以通过siebel提供的 sarmanalyser 把fdr转化为csv文件,在运行sarmanalyser之前必须执行环境变量
./sarmanalyzer -o T201311200107_P023969.csv -x -f T201311200107_P023969.fdr
把/siebel/siebsrvr/bin下面的csv取出来通过excel打开查看
1、先把SubAreaDesc 这一列排一个升序,这样**?CRASHING?THREAD?** 这一列会到前面来。
2、记住线程号ThreadID ,按ThreadID 进行刷选,刷出这个ThreadID 的所有内容,刷选完后对FdrID 号进行排升序,这样你可以看到crash之前的完整过程(csv的最后两列),一般先看最后几行内容。
3、有了这个csv可以大致知道crash之前程序在干嘛,但是不一定能定位到,因为有的程序员没有把实时内存中的内容输出到fdr中,
因为要对内存实时监控很耗性能,这也是为什么csv没有自动对fdrID进行排序的原因
4. /siebel/siebsrvr/bin 里面的crash.txt文件,里面的东西是具体的调C++类的方法,基本都看不懂。(可以根据ThreadID查具体调用的动态链接库)
5. /siebel/siebel/siebsrvr/enterprises/XXXX/XXXX/log 里面的siebel siebsrvr级别的日志,
如EAIObjMgr_enu_0014_14680065.log,可以根据ThreadID 来查,可以看到哪个线程是否真被Kill了
6. 一般来说,如果fdr、crash.txt、 eCommunicationsObjMgr_enu_0021_XXXXX.log里面都有这个ThreadID ,说明真的发生crash了。
这时就需要看组件的5级日志了,能正真看出问题的还是组件的5级日志。
eCommunicationsObjMgr_enu_0021_XXXXX.log(可以根据ThreadID 来查,有些5级的crash日志也很难看出来,那就需要拿一份正常的5级日志和crash的日志对比结果了。
这篇关于Siebel Crash 问题分析思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!