was macht CodeGuard eigentlich?
-
Hallo,
ich frage mich, was genau macht eigentlich CodeGuard?
Ich habe ein programm geschrieben, welches mit aktiviertem CodeGuard wunderbar funktioniert, und bei deaktiviertem immer in AccessViolations sich beendigt!
IM debugger werden keine CodeGuardfehler o.ä. angezeigt, sodass ich einen anhaltspunkt hätte!
-
CodeGuard überwacht deine Software und meldet Fehler, wenn zB über Array-Grenzen hinweg zugegriffen wird, dynamisch reservirerter Speicher nicht freigegeben wird, usw.
Bei mir hat CodeGuard selbst noch keinen Fehler ausgelöst, oder ein so seltsames Verhalten, wie bei Dir gezeigt.
-
Ich benutze den Codeguard auch schon seit langer Zeit und habe auf diese Art schon viele Programmstellen gefunden, an denen ich Speicher reserviert habe und anschließend vergessen habe ihn wieder freizugeben.
Was mir seit der Einführung des BDS2006 auffiel ist, dass wenn ich den Programmlauf unterbreche (manchmal aber nicht immer), er beim anschließenden beenden des Programmes Fehler meldet. Es sieht so aus, als ob beim "Programmstillstand" irgendetwas passiert, was aus Codeguard Sicht Speicher reserviert und nicht wieder freigibt.
Oft findet er auch nicht freigegebene Speicherblöcke mit Referenzen auf Programmzeilen in Systemdateien. Da habe ich ja nun überhaupt keine Chancen zu sehen wo ich ggf. etwas falsch gemacht haben könnte.
Er ist hilfreich, oft aber auch in seiner Arbeitsweise undurchschaubar.
Nicht helfen tut er mit, auch erst seit BDS2006, wenn ich ungültige Zeigeroperationen habe. Dann schmiert mir sogar die ganze Entwicklungsumgebung ab.
Naja, es gibt ja hoffentlich bald ein neues Update ...