基于日志的代码缺陷自动定位小工具

来源:互联网 发布:青岛知豆以租代售 编辑:程序博客网 时间:2024/05/17 09:28

基于日志的代码缺陷自动定位小工具

A log-based tool for software fault locating

 

王树钿

wangshudian#gmail.com2011-4-2

 

关键字:状态机;日志分析;代码缺陷

 

1 引言

 

    吃喝总要拉撒,做软件总要定位Bug。定位问题的方法很多,其中有一种是分析系统日志。通常我们分析日志靠的是人工走读,追踪变化流程来找问题根源。往往日志信息量是比较大的,分析起来费时费力。本文借鉴文献[1]的思路,开发了一个基于状态转换表进行日志分析自动定位代码缺陷的小工具。

 

 

2 功能简述

根据用户定义的状态转换规则,对事件日志进行分析,检查程序运行过程是否存在异常状态转换,并输出缺陷告警信息。

 

 

3 工具使用说明

3.1 第一步,对象及其状态分析

1)确定检查对象

2)确定对象状态机

3)编辑对象状态转换配置文件

给例:

 

3.2 第二步,记录事件日志

 

 

 

因为不同产品代码日志形态各异,本工具解析规定了格式:

 

FILE:文件名,LINE:行号,SM:对象名,OBJID:对象ID,EVENT:事件

 

注意:本工具约束对象名必须和第一步的ini文件名一致。

 

可参考以下方案记录日志:

 

方案1Hook方式。适用于不动原代码的情况。

方案2,宏方式。

 

给例:

 

3.3 第三步,运行分析工具

     可直接点击LogFAT.exe运行,默认参数是LogFile.txt和ReportFile.txt.

     也可在命令行执行,并指定日志文件名和输出报告名。

 

3.4 第四步,查看分析结果

  打开ReportFile.txt查看。

  给例:

 

 

 

参考文献

【1】James H. Andrews, Theory and Practice of Log File Analysis, 1998

 

 

 注:

 

CSDN博客好似不能上载附件,我把该工具Demo版放到的我发布的下载资源里面了。链接:

 

 http://download.csdn.net/source/3155673

 

欢迎大家反馈改进建议:)

 

原创粉丝点击