2009-03-18 15 views
6

Ich habe kürzlich über eine Fülle von Open-Source-Tools (einige sind Borderline Open-Source, ich gebe es zu) debuggen Tools und die Zuschauer haben große Ergänzungen auf meiner Liste gemacht.Was ist Ihr bevorzugtes Open-Source-Debugging-Tool?

Ich möchte das Wissen der oft brillanten StackOverflow-Crowd über diese Frage sammeln.

Für diese Frage gibt es keine WebService/Java/.Net/HTML/Perl-Einschränkungen von Programmiersprachen. Bisher Ich habe dozierte über:

  1. fs_usage für das Finden, was auf die Festplatte hält das Schreiben so viel
  2. lsof für das Debuggen, welche Ports oder Dateien geöffnet sind
  3. tcpdump, wireshark, eavesdrop für das Betrachten Ihrer Verkehrsnetz (fehlerhafte Daten?)
  4. firebug für das Debuggen von CSS, JavaScript und das Laden der Seite Probleme
  5. SoapUI, poster, und für die Fehlerbehebung SOAP und REST-konformen Web-Service
  6. Eclipse Memory Analyzer und VisualVM für Java Speichernutzung und GC gibt
  7. BTrace für instrumentieren Java-Code bereits im Einsatz auf Produktionsserver
  8. curl für bei rohen HTML suchen, sans-Browser umleitet, und Test fordern, Web-Services
  9. JMeter für Lasttests webapps und anderen unterstützten Komponenten, die
  10. unter Stress nicht

Welche Open Source-Tools können y ou der Liste hinzufügen?

Antwort

1

Für die Java-Programmierer da draußen warum nicht versuchen, die Omniscient Debugger? Es ermöglicht Debugging in der Zeit (denke Zeitreise), was sehr praktisch ist.

+0

Ich hatte einmal eine Kopie von RetroVue. Es hat das selbe gemacht, aber es war in den Tagen von Java 1.2, also war es sehr langsam ... zu langsam, um sein volles Potential auszunutzen. – CoverosGene

5

Für die gcc-Crowd gibt es gdb und gprof. Mit diesen beiden habe ich viel geschafft.

+0

Mein Hut ist weg, "ya. – dmckee

+0

Gibt es einen anderen C-Debugger für Linux/Unix außer gdb? Gdb frustriert mich bis zum Ende, nachdem ich NTSD benutzt habe ... Ich würde gerne NTSD's Äquivalent finden. –

2

xdebug für PHP kann ein Geschenk des Himmels sein.

5

gdb ist der König natürlich, und valgrind hat seine Fans.

Für einen netten Open-Source-GUI-Wrapper rund um gdb, siehe DDD. Und noch ein weiteres gdb Frontend - Insight.

1

Ich würde es nicht als Favorit bezeichnen, aber wenn Sie es brauchen, ist netcat ziemlich nett in der Lage zu sein, Netzwerkverkehr zu skripten.

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

;-)

3

printf()

+0

Entweder die min-length check ist nicht gemacht, wenn die Bearbeitung oder die Formatierung die Linie überschritten ;-) –

1

Ich werde die C Menge beitreten:

GDB, valgrind, gprof.

Edit: Ich werde auch dort die Java-Crowd beitreten.

Eclipse-Debugging-Tools, firebug,

+0

firebug? Es ist nett, hat aber nichts mit Java zu tun. Es ist ein JavaScript-Debugger. –

+0

yeah, ich weiß, aber ich habe nicht das Gefühl, "ok, und ich werde sogar der JS-Crowd beitreten". Ich werde das nächste Mal vorsichtiger sein. – Tom

+0

vergesst, ich bin nur alergisch auf das gesamte Verwechslungs-Java-und-JavaScript-Problem ;-) –

4

Firebug für im Web und Eclipse Debugger für Schreiten durch Java-Code im Zusammenhang nichts. jUnit und Mockito werden wahrscheinlich am meisten in meiner täglichen Arbeit verwendet, obwohl sie nicht auf das Debuggen beschränkt sind.

+1

Können Sie Ihre Toolreferenzen in Ihrer Antwort verlinken? Es erhöht wirklich den Wert für alle. Danke für die Beiträge. Wenn du noch mehr im Java-Bereich hast, feuere ab! –

+0

@Matthew Sorry, habe nicht daran gedacht. – Magnus

2

Python-Protokollierungsmodul.

firebug.

liveHTTP headers in Firefox.

Safari webinspector.

Wenn es darum geht, Web-Anwendungen zu debuggen, verwende ich nie Dinge, die der Ausgabe des Servers Debugging/Logging-Informationen hinzufügen.

Ich habe auch meine eigene wsgi Middleware, die ich zum Debuggen von Web-Anwendungen verwende. Es speichert ganze HTTP-Antworten in einer Datenbank, so dass es mehrmals aufgerufen werden kann. Es kann so konfiguriert werden, dass man einfach Zeug mit 500 Statuscode etc. ablegt. Auf diese Weise muss ich beim Debuggen von Ajax-Sachen keine Postanfragen mit Firebug erneut senden, es ist auch viel einfacher, auf diese Weise zu lesen.

+0

Können Sie den liveHTTP- und webinspector-Seiten Hyperlinks hinzufügen? Danke für die Ideenbeiträge! –

+0

Hinzugefügt. Der Webinspector wird mit Safari installiert, Sie müssen ihn nur aktivieren. Aber ich bin mir nicht sicher über Safari unter Windows. – Vasil

+0

+1 zu liveHTTP-Headern. Das habe ich verwendet, um HTTP-Anforderungsdaten im Browser zu verfolgen. –

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

Ich benutze das etwa einhundert Mal am Tag.

Auf der Client-Seite, es ist Firebug oder den Ur-Klassiker:

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

:)

+0

können Sie das ausarbeiten? – anjanb

3

VisualVM könnte das mächtigste Werkzeug in der Java-Welt nicht sein, aber es ist ein sehr schön bekommt Benutzerfreundliches Verhältnis.

Verwandte Themen