2010-04-11 18 views
15

Microsoft ha anunciado recientemente "Intellitrace", una característica clave para VS2010 en mi humilde opinión.Alternativa de código abierto para "Intellitrace"

Básicamente se registra algunas de las instrucciones que el programa se ha ejecutado (función específicamente llamadas), y le permite buscar fácilmente a través del registro de ejecución.

¿Hay una función similar para herramientas de código abierto? Específicamente, tal característica para Java con integración Eclipse sería algo agradable de tener.

+0

funciona con Intellitrace aplicación multi-hilo? ¿Permitir reproducir cada instrucción una y otra vez en el tiempo, incluso a través de varios hilos? Si puede, esto es algo enorme de hecho. Si no puede, es simplemente otro depurador de viajes en el tiempo. – SyntaxT3rr0r

+2

Aún no lo he probado, pero http://msdn.microsoft.com/en-us/magazine/ee336126.aspx dice: "La página de resumen me brinda mucha información sobre lo que contiene el archivo IntelliTrace. En la parte superior de la página, tengo una vista de línea de tiempo de los hilos en la aplicación ". Te digo, MS recuperaría su monopolio por la calidad de corte de sus productos. Los desarrolladores se irán de Java, a C#, lo que atraerá clientes a WinMo7, dibujar servidores a IIS, etc. –

+0

@WizardOfOdds y BTW, ¿existe un marco de depurador de viaje en el tiempo para Java? –

Respuesta

8

soy parcial, por supuesto, pero es posible que desee ver en Chronon

+0

Chronon es útil, pero no es de código abierto, y ¡ni siquiera es gratis para proyectos de código abierto! –

+3

Chronon ahora es gratuito para proyectos de código abierto: http://eblog.chrononsystems.com/chronon-free-for-open-source-projects – pdeva

5

gdb 7.0 cuenta con similar feature llamado ProcessRecord. Sin embargo, carece del gui.

Permite cosas como:

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 
4

Esto a veces se llama 'tiempo de viaje depuración', porque le da la capacidad de 'paso atrás en el tiempo' y revisar el estado de su programa. Una búsqueda rápida en Google aparece this talk sobre el soporte de eclipse para algo similar (¡aparentemente en 2006!).

EDIT:

Como Elazar señaló en los comentarios, que es la herramienta Eclipse para el desarrollo basado en C, no java. Sin embargo, parece que Omniscient Debugger es un depurador temporal para Java. Parece un proyecto un poco muerto, lo cual es un poco sorprendente.

+0

Desafortunadamente, solo para CDT, lo que significa que no hay soporte de Java. ¿Se basa en la función de registro 'gdb' que mencioné? –

+0

eclipsecon.org el enlace está roto. –

+0

Por desgracia, era [incapaz de conseguir Omnisciente depurador para trabajar en absoluto] (http://stackoverflow.com/questions/9686946/how-to-use-omniscient-debugger) en Java 6. –

2

Siempre se puede entrar ilegalmente en él por sí mismo utilizando los marcos AOP como AspectJ - La explotación forestal es uno de los aspectos más comúnmente mencionadas.

+0

¿Cuán fácil es agregar una funcionalidad similar a la base de código existente? –

+0

Debe ser fácil, pero consulte el manual de AspectJ. –

Cuestiones relacionadas