Ich programmiere in C in Visual Studio 2005. Ich habe ein Multi-Thread-Programm, aber das ist hier nicht besonders wichtig.Ermitteln des Stack-Speicherplatzes mit Visual Studio
Wie kann ich (ungefähr) ermitteln, wie viel Stapelspeicherplatz meine Threads verwenden?
Die Technik, die ich verwenden wollte, setzt den Stapelspeicher auf einen bestimmten Wert, sagen 0xDEADBEEF, das Programm für eine lange Zeit ausgeführt wird, das Programm pausiert und den Stapel untersucht.
Wie kann ich Stapelspeicher mit Visual Studio lesen und schreiben?
EDIT: Siehe zum Beispiel "How to determine maximum stack usage." Diese Frage spricht über ein eingebettetes System, aber hier versuche ich, die Antwort auf einem normalen PC zu bestimmen.
Ihr Kommentar stimmt nicht genau. Das Berühren der betreffenden Seite ist in Ordnung, wirklich. Die Technik besteht darin, den gesamten relevanten Speicher mit einem bestimmten Wert zu schreiben und nach einer langen Betriebsdauer zu sehen, wie viel Speicher diesen Wert dort nicht mehr hat. – JXG
Microsoft wird geupdated: "Ein Versuch, von einer Wächter-Seite zu lesen oder auf diese zu schreiben, führt dazu, dass das System eine STATUS_ACCESS_VIOLATION-Ausnahme auslöst und den Schutzseiten-Status deaktiviert. Die Wachen-Seiten fungieren somit als One-Shot-Zugriffsalarm." Nein, Lesen ist nicht ausgenommen. – MSalters
Ich denke wir reden aneinander vorbei. – JXG