Profiler vs. bound-checker!!!
-
hallo
was ist der Unterschied zw. einem Profiler und einem Bounds-checker?
gibts kostenlose Versionen (von Firmen) oder so zu haben ?
Danke
-
Vereinfacht gesagt:
Ein Profiler zeigt dir an, wieviel Zeit dein Programm in welchen Funktionen
vertrödelt, während ein Bounds-Checker testet, ob dein Programm über Array-
Grenzen hinausschreibt. Meiner Meinung Tools, auf die man in nahezu 100%
aller Fälle verzichten kann.
-
24x7_coder schrieb:
Vereinfacht gesagt:
Ein Profiler zeigt dir an, wieviel Zeit dein Programm in welchen Funktionen
vertrödelt, während ein Bounds-Checker testet, ob dein Programm über Array-
Grenzen hinausschreibt. Meiner Meinung Tools, auf die man in nahezu 100%
aller Fälle verzichten kann.noe
wenn du mal in einer firma bist wo 20 programmierer arbeiten und da project schon sehr gross ist und du memory leaks hast, WIE würdest DU die dann finden? das ganze programm durchsteppen und alle if verzweigungen per hand durchsteppen?
beim bouncechecker kannst du das programm aufrufen, deine operationen machen und schliessen, während des gesamten programmablauf checkt das programm alle variablen ect.
wenn es ein memoryleak gibt, zeigt es dir an wo du z.b. ein new hast und kein delete. bei anderen leaks springt es dann auch genau in die zeile
wenn du ein programm für z.b. 300 000 zeilen code durchdesignst und dann nochmal 200 000 zeilen code hinzukommen, da das projekt ausgebaut wird, und du und dein team NIE einen fehler macht, dann respekt
und bewirb dich als code designer bei ibm
-
Ich wusste, das ist ein kontroverses Thema, und ich habe eine solche
Antwort bereits erwartet.Darum schrieb ich: "Meiner Meinung nach...".
Aber jetzt mal ernsthaft: Ich habe den Fall, den schilderst ja bereits
erlebt. Zwar nicht ganz so viele Entwickler, und nicht ganz so viele
Zeilen (vielleicht um die 60.000) aber durchaus vergleichbar.
(Wenn du sagst Bounds-Checker (oder Bouncechecker?), meinst du das
kommerzielle Tool das es für die Win32-Entwicklung gibt, nehme ich an.)
Das Teil kann zwar in der Tat einiges, hat aber lausige Performance und
kostet Geld. Ich finde der VC-Debugger hat ausreichend Möglichkeiten, um
Memory-Leaks zu finden (-> _CrtDumpMemoryLeaks). Wenn man damit umzugehen
weiss, kann man auf den Boundschecker verzichten. Das ist also eine Frage
der bevorzugten Vorgehensweise, und BC ist da nicht das Mittel meiner Wahl.
Das wollte ich damit sagen, und nicht daß mir keine Fehler unterlaufen.
-
Naja, der Bounds-Checker kann auch noch einiges mehr als new ohne delete aufzudecken. Ausserdem, zur Performance: Man muss ihn ja nicht ständig nebenher laufen lassen.
-
ich habe mit dem bounce checker noch nicht gearbeitet nur einmal kurz gesehen, man kann sich wirklich ne menge zeit sparen. das einzige was dumm ist, ist wenn man module abchecken will ( die z.b. vom apache verwendet werden ).
ausserdem zum preis. ich glaube der kostet in der fullversion 2000 - 2500 euro rum. für eine grosse firma ( die grossen softwarehäuser ), ist das kein geld. als privatanwender überlegt man es sich schon sehr sehr gut ob man es benötigt oder nicht.
die vollen features kenn ich auch nicht auswendig ( arbeite ja auch nicht im vertrieb bei denen )
es gibt aber bei codeproject eine kostenlose version ( natürlich mit viel geringerem umfang )
-
Tsts es ist doch viel lustiger wie ein Bekloppter auf den Taskmanager zu glotzen, während man das Programm durchklickt. AFAIK ist Bounds-Checker übrigens ein konkretes (überaus nützliches) Programm.
-
Tsts es ist doch viel lustiger wie ein Bekloppter auf den Taskmanager zu glotzen, während man das Programm durchklickt.
Wie gesagt, wenn man damit umgehen kann...
AFAIK ist Bounds-Checker übrigens ein konkretes (überaus nützliches) Programm.
Da spielen die Anforderungen, die Qualität des Quellcodes und des
Programmierers - und nicht zuletzt die persönliche Vorliebe eine Rolle.
Zum Aufspüren von Memory-Leaks halte ich den BC für übertrieben; falls du
andere, "konkrete" Features nennen kannst, lasse ich mich aber gerne
überzeugen.
-
24x7_coder schrieb:
Tsts es ist doch viel lustiger wie ein Bekloppter auf den Taskmanager zu glotzen, während man das Programm durchklickt.
Wie gesagt, wenn man damit umgehen kann...
Was hat das mit "damit umgehen" können zu tun? Ich kann auch mit einer stumpfen Axt umgehen, trotzdem nehme ich lieber eine scharfe um Holz zu hacken. Aber wahrscheinlich läuft das wieder darauf hinaus, dass "gute" Programmierer sowieso niemals Fehler machen und deshalb auf solche Tools nicht angewiesen sind.
Da ich schon lang nicht mehr mit Bounds-Checker gearbeitet habe kann ich dir leider keine Features aufzählen, probier´s doch einfach selbst aus.