每次进入和退出方法时,我都在改变代码以打印日志消息。当我认为可能有一些Eclipse的功能或插件可以跟踪它并给我看。毕竟,这是java编译器手头的信息。
我需要的是看到顺序,其中每个方法都被调用并返回。
它应该打印方法名称和它上面的所有堆栈,这样我就可以知道是谁调用了。
(可选),如果它打印输入和返回的时间以及差异,这将是分析的好信息。
我记得过去尝试使用TraceView,我不知道它是否是答案,但我清楚地记得那里有太多的信息,我无法清楚地了解发生了什么。
如果有人知道如何正确使用它来获取我需要的信息,那也会很棒。
更新
我很难使用TraceView和他的同伴dmtracedump。我做了一些我不应该做的事情,我搜索了dmtracedump代码源并查看它
这是产生我得到的错误消息的代码。
TraceData data1;
DataKeys* dataKeys = parseDataKeys(&data1, gOptions.traceFileName,
&sumThreadTime);
if (dataKeys == NULL) {
fprintf(stderr, "Cannot read trace.\n");
exit(1);
}
但我不知道如何修复跟踪文件。
它由Debug.startMethodTracing("tracefile");
我希望有一种方法可以告诉Java编译器打印每个方法调用。我现在非常沮丧。
答案 0 :(得分:2)
我建议您使用Google为我们提供的the absolutely excellent tool TraceView而不是实施您自己的分析服务!
如果您在使用TraceView时遇到问题,则只能使用以下命令对代码的某些部分进行分析:
// start tracing to "/sdcard/calc.trace"
Debug.startMethodTracing("calc");
// ...
// stop tracing
Debug.stopMethodTracing();
我自己用过它,它告诉你几乎所有你需要知道的分析。
答案 1 :(得分:0)
我找到了一种自己修改文件的方法,可以在我的源代码中的任何地方插入和删除日志消息。
我是在this post
中写的