|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 05.10.2002, 16:16 Titel: Tool für Heap |
|
|
kennt jemand ein Tool oder eine funktion, mit dem man die größe des Heaps in einem programm abfragen kann?
damit müsste man doch speicherlecks entdecken können. |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 05.10.2002, 22:34 Titel: |
|
|
Entdecken schwerer... Der Heap ist für alle Win32-Prozesse gleich groß, nämlich 2 GB virtueller Adressraum... (Im Bereich zwischen 0 und 4 GB, wobei bestimmte bereiche reserviert sind.)
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 06.10.2002, 11:58 Titel: |
|
|
nein, sry, hab mich falsch ausgedrückt:
wie kann ich abfragen, wieviel speicher vom heap an einem bestimmten zeitpunkt belegt ist?
also ich speichere einmal vor einer funktion, die verdächtig ist, wieviel speicher vom Heap schon belegt ist und einmal danach.
wenn die werte nicht gleich sind, dann müsste diese funktion ein speicherleck erzeugen.
jetzt habe ich noch eine frage:
im debug modus werden ja um den reservierten speicher sicherheitsbytes angelegt, für en fall, dass man aus versehen über das ende eines arrays oder so hinaus schreibt. kann man irgendwie abfragen, ob auf diese bytes geschrieben oder von ihnen gelesen wurde? |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 06.10.2002, 12:18 Titel: |
|
|
Das DebugMemorysystem von VC++ hat Funktionen, mit denen das gehen soll. Mir haben die Infos damals nicht viel geholfen, vielleicht dir. Ich denke mal, da du von den Speicher-Sicherheitsbytes weißt, kann ich davon ausgehen, daß du weißt, wo das in der MSDN zu finden ist. Sorry, wenn ich nicht besser helfen konnte. Schau doch einfach mal in der verdächtigen Funktion nach und überprüfe nochmal schritt für schritt, was wo passiert, dabei entdeckt man Speicherlecks auch...
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 06.10.2002, 12:32 Titel: |
|
|
ja, also ich habe in der MSDN hilfe die _CrtMemx funktionen gefunden.
Leider weiß ich nicht genau wie sie funktionieren. Ich muss es wohl dann selber mal probieren, vileicht habe ich ja glück und es klappt ohne probleme |
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 07.10.2002, 14:58 Titel: |
|
|
kann mir denn vileicht jemand erklären oder einen link zu einer seite geben, wo erklärt wird, wie der Heap aufgebaut ist und wie der HeapManager das ganze verwalltet? |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|