- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 刘芳——本科论文初稿.doc VIP
- 安全培训记录效果评估表全员法律法规培训.docx VIP
- 3.4 透镜的应用(分层练习)2024-2025学年八年级物理上册同步精品课堂(苏科版2024)(解析版).docx VIP
- 《二年级上册美术折纸动物》ppt课件讲义.ppt
- BS EN 16120-2-2017Non-alloy 国外国际标准规范.pdf
- 精卫填海成语神话故事.pptx VIP
- 【生物】蛋白质相关计算课件 2023-2024学年高一上学期生物人教版必修1.pptx VIP
- 四位一体农村长效保洁方案(标书——已中标) .pdf VIP
- 人教版九年级上册化学第六单元测试卷.doc VIP
- 2025届高考语文复习:叠词的作用和表达效果+课件.pptx VIP
文档评论(0)