<Symbian>创建调试日志

前言:

我本是j2me的程序员,习惯了使用System.out.println来调试程序,接触Symbian么多长时间,开始调试程序的时候,苦于么有找到控制台打印的api,无意中在www.j2medev.com上找到关于调试日志的创建。起初也不是那么顺利的就能创建成功,毕竟很多资料的描述总是不够细节,这也是网络上的一个通病,所以我才会开辟这个blog,详细的记录我在symbian探索中的一些点点滴滴。下面关于Symbian创建调试日志的内容多半是转载www.j2medev.com,其中一些模棱两可的地方我也加以详解了。

 

在手机上调试代码或跟踪执行过程?RFileLogger也许可以帮助你.这个class的功能非常强大而且很容易使用。

 

1.首先介绍下log日志的文件夹。一般安装sdk后,log日志文件夹默认在模拟器c:/logs,拿S60_2nd_FP2_CW sdk来说,它安装后的log日志文件夹在/Symbian/8.0a/S60_2nd_FP2_CW/Epoc32/winscw/c/logs,logs就是默认的日志文件夹。

 

2.在程序中声明一个文件日志的连接并且创建一个log文件
//打开日志文件服务的连接
RFileLogger iLog;
iLog.Connect();
iLog.CreateLog(_L("MyLoggingDirectory"),_L("MyLogFile"),EFileLoggingModeOverwrite);
//..

//关闭log文件和服务器连接
iLog.CloseLog();

JAVA手机网[ http://www.cnjm.net/]

iLog.Close();

第3行的CreateLog函数有三个参数:
Log文件夹名
Log文件名
记录模式(EFileLoggingModeOverwrite|EFileLoggingModeAppend)

例如下列代码:

iLog.CreateLog(_L("MyLog"),_L("MyLogFile"),EFileLoggingModeOverwrite);

而生成的log文件的full path(pc的文件系统)
/Symbian/8.0a/S60_2nd_FP2_CW/Epoc32/winscw/c/logs/MyLog/MyLogFile.

其中要注意的是:MyLog文件夹要在程序运行前自行创建。

 

一般习惯把opening代码放到希望跟踪的class的ConstructL()函数里面,然后在析构函数里closing.在真正编码时,最好检测一下Connect和CreateLog是否返回了KErrNone.
一旦你完成了这些,你就可以向log文件中输入文本和数据了。基本的命令为:
命令Log文件
iLog.Write(_L("Hello World"))11/07/2003 4:00:13 Hello World
iLog.WriteFormat(_L("Result=%d"),err)11/07/2003 4:00:13 Result=0

JAVA手机网[ http://www.cnjm.net/]

iLog.HexDump(aHeader,aHeader,myPtr,4)11/07/2003 4:00:13 myBuf:0000: 41 42 00 44 AB.D
要是不希望记录日期和时间,你可以使用这条语句来关闭它们。
iLog.SetDateAndTime(TBool aUseDate, TBool aUseTime)

JAVA手机网[ http://www.cnjm.net/]

3.别忘了在MMP文件上加入flogger.lib,还有包含flogger.h头文件。现在可以编译执行你的程序了。等关闭模拟器以后,就能打开log日志查看你的调试信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值