2009-03-18 19 views
6

He estado dando una charla recientemente sobre una gran cantidad de Open Source (algunos están en el límite de fuente abierta, lo admitiré) herramientas de depuración y el público ha estado haciendo grandes adiciones a mi lista.¿Cuál es su herramienta de depuración de código abierto favorita?

Me gustaría reunir el conocimiento (y dar crédito) a la multitud de StackOverflow con esta misma pregunta.

No existen restricciones de WebService/Java/.Net/HTML/Perl de los lenguajes de programación para esta pregunta. Hasta ahora, he estado pontificar sobre: ​​

  1. fs_usage para encontrar lo que sigue escribiendo en el disco tanto
  2. lsof para depurar qué puertos están abiertos o archivos
  3. tcpdump, wireshark, eavesdrop para mirar a su el tráfico de red (datos malformados?)
  4. firebug para depurar CSS, JavaScript, y los problemas de carga de página
  5. SoapUI, poster, y para SOAP solución de problemas y los servicios web RESTful
  6. Eclipse Memory Analyzer y VisualVM para el uso de memoria de Java y GC emite
  7. BTrace para la instrumentación de código Java ya desplegados en los servidores de producción
  8. curl para mirar HTML puro, sans navegador vuelve a dirigir, y la prueba -pidiendo servicios web
  9. JMeter para aplicaciones web de pruebas de carga y otros componentes compatibles que fallar bajo estrés

¿Qué herramientas de código abierto y puede ¿Agregar a la lista?

Respuesta

1

Para los programadores de java, ¿por qué no probar el Omniscient Debugger? Permite la depuración en el tiempo (pensar en el viaje en el tiempo) que es muy útil.

+0

Tenía una copia de RetroVue una vez. Hizo lo mismo, pero fue en la época de Java 1.2, por lo que fue muy lento ... demasiado lento para ser utilizado en todo su potencial. – CoverosGene

5

Para la multitud de gcc, hay gdb y gprof. He terminado mucho con esos dos.

+0

Me pongo un sombrero. – dmckee

+0

¿Hay algún otro depurador C para Linux/Unix que no sea gdb? Gdb me frustra sin fin después de haber usado ntsd ... Me encantaría encontrar el equivalente de ntsd. –

2

xdebug para PHP puede ser un regalo del cielo.

5

gdb es el rey, por supuesto, y valgrind tiene sus fans.

Para un buen envoltorio de interfaz gráfica de usuario de código abierto alrededor de gdb, consulte DDD. Y aún otro front-end gdb - Insight.

1

No lo llamaría un favorito, pero cuando lo necesite netcat es bastante bueno ser capaz de script de tráfico de red.

0
printf("%s - %d: %d", __FILE__, __LINE__, variable); 
qDebug() << variable; 

;-)

3

printf()

+0

O bien la verificación de longitud mínima no está hecha al editar o el formato cruzó la línea ;-) –

1

que se una a la multitud C:

GDB, valgrind, gprof.

Edit: Me uniré a la multitud de Java también.

Eclipse herramientas de depuración, firebug,

+0

firebug? Es lindo, pero no tiene nada que ver con Java. Es un depurador de JavaScript. –

+0

sí, lo sé, pero no me apetecía poner "ok, e incluso me uniré a la multitud de JS". Seré más cuidadoso la próxima vez. – Tom

+0

No importa, solo soy alérgico a todo el problema de mezcla de Java y JavaScript ;-) –

4

Firebug para todo lo relacionado con la web y Eclipse depurador para recorrer el código Java. jUnit y Mockito son probablemente los más utilizados en mi trabajo diario, aunque no se limitan a la depuración.

+1

¿Puedes hipervincular las referencias de tu herramienta en tu respuesta? Realmente aumenta el valor para todos. Gracias por las contribuciones. Si tienes más en el espacio de Java, ¡dispara! –

+0

@Matthew Lo siento, no pensé en eso. – Magnus

2

módulo de registro de python.

firebug.

liveHTTP headers en firefox.

Safari webinspector.

Cuando se trata de depurar aplicaciones web, nunca utilizo cosas que agreguen información de depuración/registro a la salida del servidor.

También tengo mi propio middleware wsgi que utilizo para depurar aplicaciones web. Vacia respuestas http enteras en una base de datos para poder acceder a ella en numerosas ocasiones. Puede configurarse para simplemente volcar cosas con el código de estado 500, etc. De esta forma no tengo que volver a enviar solicitudes de publicación con Firebug cuando estoy depurando cosas de AJAX, también es mucho más fácil de leer de esta manera.

+0

¿Puede agregar hipervínculos a las páginas liveHTTP y webinspector? Gracias por la idea de contribuciones! –

+0

Agregado. El webinspector está instalado con Safari, solo tienes que activarlo. Pero no estoy seguro de safari en Windows. – Vasil

+0

+1 para cargar encabezados HTTTP. Eso es lo que he estado usando para rastrear los datos de solicitud HTTP en el navegador. –

1
function readVar($var) 
{ 
    echo '<pre>'; 
    var_dump($var); 
    echo '</pre>'; 
} 

Utilizo esto unas cien veces al día.

En el lado del cliente, es Firebug, o el clásico primordial:

<script> 
alert('hello1'); 
.......//borked code stops execution here? 
alert('hello2'); 
.......//hmmm we shall see 
</script> 

:)

+0

puede elaborar? – anjanb

3

VisualVM podría no ser la herramienta más poderosa en el Java-mundo, pero tiene una muy agradable facilidad de uso a la relación de potencia.

Cuestiones relacionadas