每次进入和退出方法时,我都在更改代码以打印日志消息的一半。当我认为 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 编译器打印每个方法调用。在这一点上,我很沮丧。