15

微软最近宣布了“Intellitrace”,这是 VS2010 恕我直言的杀手级功能。

基本上它记录了程序运行的一些指令(特别是函数调用),并允许您轻松查看执行日志。

开源工具有类似的功能吗?尤其是这样的 Java 与 Eclipse 集成的特性将是一件好事。

4

4 回答 4

8

我当然有偏见,但你可能想看看Chronon

于 2011-03-28T16:31:18.460 回答
6

gdb 7.0具有一个类似的功能,称为ProcessRecord. 但它缺乏gui

它允许以下内容:

Program received signal SIGSEGV, Segmentation fault.
0x00401150 in main () at try.c:3
3       printf("%d\n",*x);
(gdb) p x
$1 = 0x0
(gdb) watch x
Watchpoint 1: x
(gdb) reverse-continue
#...find out who was the last one to touch x
于 2010-04-11T17:42:30.507 回答
4

这有时被称为“时间旅行调试”,因为它使您能够“及时退回”并检查程序的状态。一个快速的谷歌搜索出现了这个关于 eclipse 支持类似东西的讨论(显然是从 2006 年开始!)。

编辑:

正如 Elazar 在评论中指出的那样,eclipse 工具是用于基于 C 的开发,而不是 java。但是,看起来Omniscient Debugger是 Java 的临时调试器。不过,这似乎有点像一个死项目,这有点令人惊讶。

于 2010-04-11T18:31:29.110 回答
2

您总是可以使用 AOP 框架(例如AspectJ )自己破解它- 日志记录是最常提到的方面之一。

于 2010-04-12T06:58:07.503 回答