Interpretation von Speicherblocktypen
Aktualisiert: November 2007
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Nur "Systemeigen" |
|||
Standard |
Nur "Systemeigen" |
|||
Pro und Team |
Nur "Systemeigen" |
Tabellenlegende:
Vorhanden |
|
Nicht vorhanden |
|
Befehl oder Befehle, die standardmäßig ausgeblendet sind. |
Wie bereits unter Aktivieren der Speicherverlusterkennung erwähnt, werden Blöcke, in denen Speicherverluste auftreten, in den Speicherverlustinformationen als normale Blöcke, Clientblöcke oder CRT-Blöcke bezeichnet. In der Praxis werden Ihnen wahrscheinlich lediglich normale und Clientblöcke begegnen.
Ein normaler Block ist gewöhnlicher, durch das Programm reservierter Arbeitsspeicher.
Ein Clientblock ist ein spezieller Speicherblocktyp, der von MFC-Programmen für Objekte verwendet wird, die einen Destruktor benötigen. Durch die MFC-Operation new wird entsprechend dem zu erstellenden Objekt ein normaler Block oder ein Clientblock generiert.
Ein CRT-Block ist ein Arbeitsspeicherblock, der von der CRT-Bibliothek zum eigenen Gebrauch reserviert wird. Die Freigabe dieser Blöcke wird von der CRT-Bibliothek erledigt. Daher ist es unwahrscheinlich, dass diese Blöcke im Speicherverlustbericht erwähnt werden, es sei denn, es tritt ein schwerwiegendes Problem auf (z. B., wenn die CRT-Bibliothek beschädigt ist).
Zwei Blocktypen werden zu keinem Zeitpunkt in den Speicherverlustinformationen vorkommen:
Freie Blöcke, d. h. Speicherblöcke, die freigegeben wurden.
Ignorierte Blöcke. Sie wurden speziell gekennzeichnet, damit sie ignoriert werden, und sind in keinem Speicherverlustbericht aufgeführt.