Mit welchem ​​Tool kann ich die Speichernutzung analysieren? [geschlossen]

Ich habe eine Windows-Anwendung, die mit Visual Studio 2008 in C ++ geschrieben wurde. Ich möchte Statistiken zur Speichernutzung abrufen, um Engpässe und Speicherorte für die Speichernutzung zu ermitteln. Idealerweise hätte ich gerne ein Tool, mit dem dies möglich ist, ohne den Code selbst mit einer Zähler- / Profilierungslogik zu versehen. Grundsätzlich suche ich:

Liste aller Zuordnungen (befreit oder egal, ich möchte jedes Mal wissen, wenn etwas zugewiesen wird)Aufrufstapel jeder Zuordnung und ein Zähler, der angibt, wie oft der Code aufgerufen und der Speicher zugeordnet wurde.Informationen darüber, welcher Speicher freigegeben oder nicht freigegeben wurde (um Lecks zu finden). Im Idealfall ist es intelligent genug, um festzustellen, ob der Speicher noch verwendet wird oder ob er tatsächlich durchgesickert ist (über den Bereich oder einen anderen intelligenten Mechanismus).

Es ist mir egal, ob es ein kostenloses Tool ist oder nicht. Hier sind einige Tools, die ich mir bereits angesehen habe:

Rational PurifyPlus: Ehrlich gesagt konnte ich dieses Tool nicht viel gebrauchen. Es werden viele False Positives zurückgegeben. Außerdem gibt es mir nicht die ersten 2 Elemente in meiner Liste oben, sondern scheint sich nur auf Speicherfehler und -lecks zu konzentrieren.Sysinternals VMMap: Dieses Tool ist interessant und ermöglicht mir zu sehen, wie der Speicher verteilt ist (Stack vs. Heap vs. Shared Heap usw.). Außerdem kann ich einen Anrufbaum mit Zuordnungen anzeigen, der jedoch nicht sehr intuitiv oder hilfreich ist. Es ist schwer, aus den Daten einen Sinn zu machen.DevPartner Boundschecker: Ich denke wirklich, dass dies das bisher nutzloseste Tool ist. Ich habe es vor Jahren benutzt, bevor sie von DevPartner aufgekauft wurden, und ich erinnere mich, dass es viel besser funktioniert hat. Aber es gibt mir nicht wirklich die statistischen Daten, die ich brauche, und es scheint auch nicht in der Lage zu sein, Speicherlecks richtig zu erkennen.

Ich freue mich im Voraus über jede Hilfe / Beratung. Meine Anwendung ist ein Server und leidet im Laufe der Zeit unter schwerwiegenden Problemen mit dem Speicherwachstum während des Stresstests (und stürzt schließlich ab, weil virtuelle Bytes den Grenzwert für 32-Bit-Anwendungen überschreiten). Wenn ich das richtige Tool habe, kann ich leichter herausfinden, wo Speicher zugewiesen wird und wo möglicherweise Speicherplatz verloren geht.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage