j2me下利用jarrut打印异常堆栈.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
j2me下利用jarrut打印异常堆栈

J2me下利用jarrut打印异常堆栈 J2me下调试困境 J2me下打印异常信息,只能使用printStatckTrace(), 只能输出到控制台上,没有提供输出到其他设备上的接口。这给j2me开发者带来很大不便,在模拟器上调试可以看看控制台的异常输出,在真机子上就没办法了获取异常信息了。还好,国外朋友提供了一个jarrut的工具,虽然作者的使用文档不够详细,使用起来有点复杂,但是如果用起来,对于在真机上定位问题还是很有帮助的,希望能帮到一些童鞋。项目网址为:/,在该网站可以下载到源码、工具包。在这里感谢jarrut项目的作者。 在工程中导入jarrut-runtime-0.2.jar,有时需要导入microlog-logger-core-2.3.5.jar 在你的项目中导入jarrut-runtime-0.2.jar,该包主要定义了监听器接口、日志、堆栈结构等等,有兴趣的可以自己研究下。 不要忘了勾选下面选项 在工程中添加相应的代码 在源代码例子中有相应的例子代码,我只列举其中一种 MIDlet继承MethodTraceListener, ExceptionTraceListener接口 class MYMIDlet extends MIDlet implements CommandListener, MethodTraceListener, ExceptionTraceListener, DontInstrument 在构造函数中设置方法、异常堆栈监听 public MYMIDlet() { TraceHandler.setExceptionTraceLevel(TraceHandler.TRACE_EXCEPTIONS_ALL); TraceHandler.setExceptionTraceListener(this); TraceHandler.setMethodTraceListener(this); } 在方法、异常监听的回调函数中做相应处理 public void methodEntered(StackTrace trace) { } public void methodExited(StackTrace trace) { } */ public void methodExitedWithException(Throwable throwable, boolean uncaught, StackTrace trace) { // System.out.println(throwable + \n + trace); // if (uncaught) { // System.err.println(Uncaught exception + throwable + .); // } } public void printExceptionStackTrace(Throwable throwable, StackTrace trace) { //System.out.println(throwable + \n + trace); } 使用jarrut-0.2.jar对生成的类插入jarrut相应的代码 利用jarrut-0.2jar主要的目的就是插入jarrut的调试代码。 以下是我的项目中使用的批处理。Jarrut.bat 主要是对某一路径下的类进行jarrut操作,生成一个临时目录存放经过jarrut操作后的类,并覆盖原来的类。jarrutdir.txt,主要存放需要进行jarrut操作的类的路径,每行一个路径。 //call_jarrut.bat for /f %%i in (.\jarrutdir.txt) do call jarrut %%i pause // jarrutdir.txt F:\workspace\ HelloDemo \bin\com\log\ F:\workspace\HelloDemo\bin\com\ HelloDemo \ F:\workspace\ HelloDemo \bin\me\regexp\ // jarrut.bat setlocal enabledelayedexpansion set rootdir=%1 set oldcd=F: \jarrut-0.2bin\bin set tempdir=%rootdir%temp\ set errortxt=%tempdir%error.txt cd %rootdir% if exist %tempdir% rmdir %tempdir% if not exist %tempdir% mkdir %tempdir% if exist

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档