Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
开发者_如何学Python Improve this questionMicrosoft has recently announced "Intellitrace", a killer feature for VS2010 IMHO.
Basically it records some of the instructions the program ran (specifically function calls), and allows you to easily look through the execution log.
Is there a similar feature for open source tools? Specifically such a feature for Java with Eclipse integration would be a nice thing to have.
I am biased of course, but you may want to look at Chronon
gdb 7.0
features a similar feature called ProcessRecord
. It lacks the gui
though.
It allows things like:
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
This is sometimes called 'Time travelling debugging', because it gives you the ability to 'step back in time' and check out the state of your program. A quick google search turns up this talk about eclipse support for something similar (from back in 2006 apparently!).
EDIT:
As Elazar pointed out in the comments, that eclipse tool is for C-based development, not java. However, it looks like Omniscient Debugger is a temporal debugger for Java. Seems like a bit of a dead project though, which is a bit surprising.
You can always hack it yourself using AOP frameworks such as AspectJ - Logging is one of the most commonly mentioned aspects.
精彩评论