請問執行程式時出現EStackOverflow該如何解???? |
尚未結案
|
tina623
一般會員 發表:9 回覆:2 積分:2 註冊:2005-01-25 發送簡訊給我 |
|
tonytop
中階會員 發表:6 回覆:114 積分:89 註冊:2003-12-04 發送簡訊給我 |
Delphi說明裡找得到答案唷!
還解不出的話,麻煩trace出錯的那段程式出來讓各位大大診斷吧!
Description EStackOverflow is raised when the current thread?
stack grows into the final guard page?hat is,
when the system cannot grow the stack dynamically.
This can happen because of extremely large local variables,
deeply recursive routines, or invalid assembly-language code. As a descendant of EExternal,
EStackOverflow saves the Windows exception record
(if there is one) in its ExceptionRecord data structure. 忙盲茫
|
cancer
高階會員 發表:58 回覆:319 積分:190 註冊:2004-07-31 發送簡訊給我 |
堆疊滿到爆,都跟函式或程序有關,引用 tony 提供的內容:
This can happen because of
extremely large local variables, 妳不可能使用超大本地變數吧?
deeply recursive routines, 超多次重複的遞迴很有可能!
or invalid assembly-language code. 妳用組合語言,機會應該不太吧? 因為妳的程式能在 2000 下執行,所以第三個可能就不合理。
我想應該是第二個可能性比較大。再者,如果能在 2000 執行,但卻不能在98執行,這意味著2000 跟 98 對堆疊的分配有體積上的不同,2000 分配較多,98分配較少。我想妳還是檢查看看程式中有沒有使用超囉嗦的遞回函式。 我是儘量不踫遞迴的人,因為無論是別人看自己的程式,或者自己隔一段時間再看以前寫的程式,遞迴都比較難一眼看出執行目的,有時,看已經寫好的程式,比寫程式還要累。
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |