024
11.11.2005, 08:53 Uhr
~Sponge
Gast
|
Zitat: |
Ist das sicher, dass argv auf dem Stack liegt?
|
Ich stimme ao zu, denke dass es auf dem Stack liegt (ist ja ein normaler parameter), die eigentlichen Werte, also die Strings, die sollten auf dem Heap liegen (wobei eine normale Windowsanwendung wie es scheint immer mindestens 3 hat .. wer mir das erklären kann ..)
Habe das gestern noch mit den Stack adressen ausprobiert, das merkwürdige an der Sache war, dass je nachdem wieviel Stack ich dem Programm zur Bearbeitung zur Verfügung gestellt habe, hat das Programm immer den Stack bis auf knapp 20KB ausgenutzt, egal ob ich 10, 5 oder 2 MB Stack zur Verfügung gestellt hatte. DAS habe ich nun garnicht verstanden, werde es aber im Laufe des Tages noch mal kontrollieren, ob mir da irgendwo nen Schusselfehler passiert ist. Der GCC stellt die Compileroption fstack-limit-register / fstack-limit-symbol zur Verfügung ... damit kann man Code vom GCC generieren lassen, der einen Stackoverflow erkennt und ein Signal aussetzt .... die Frage dabei ist, wenn ich die obere Grenze festlegen muss, dann muss ich auch die untere Wissen und die andere Frage ist, welches Signal wird gesendet SIGABRT ?
-- Es gibt 10 Arten von Leuten: die, die das binäre System verstanden haben, und die, die es nicht verstanden haben |