如何釋放bcb本身佔用的記憶體? |
答題得分者是:salo0610
|
jtain
一般會員 ![]() ![]() 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
|
rick060
高階會員 ![]() ![]() ![]() ![]() 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
jtain
一般會員 ![]() ![]() 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
|
GrandRURU
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
可以先從「換電腦、換安裝光碟」試試
不行? 那就當是bcb6的bug吧 都這麼久了… 有這種症頭真的很難醫 ===================引 用 jtain 文 章=================== 應該沒有 memory leak 的現象,因為我只有一個地方有用到 new 我用完就立刻 delete, 而且就算是有,也應該不會有太大的問題, 因為都只用小小的空間,而每次工作管理員一次更新就是接近 400KB 的實體記憶體在膨脹... 所以我目前碰到這類的現象就只能產生 .exe 直接執行... |
jtain
一般會員 ![]() ![]() 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
我公司是正式的專業版....
codeguard 檢查的結果只有底下幾個小區段,佔用不了多少 The object array (0x00DC19D8) [size: 248 bytes] was created with new[] The object array (0x00DD79F0) [size: 152 bytes] was created with new[] The object array (0x00DBDD8C) [size: 200 bytes] was created with new[] The object array (0x00DC56F4) [size: 140 bytes] was created with new[] The object array (0x00DB6BCC) [size: 224 bytes] was created with new[] 就只查到這麼多...
------
無所不在 |
salo0610
高階會員 ![]() ![]() ![]() ![]() 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
Release Memory 釋放記憶體 : http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=47449 參考這幾篇呢, 有效嗎?? 當我在 bcb 裏執行程式時,所以那個 bcb.exe 所佔用的記憶體會一直加大,實體跟虛擬都會。 程式小時沒問題,但我有支程式是去讀取 excel 經過處理寫到另外一個 excel 去 然後就會看到那個 bcb.exe 實體跟虛擬一直以 3xxKB 迅速的望上增長,最後很容易出現 Out of memory 不知有什麼辦法可以在除錯下避免這類的問題? |
jtain
一般會員 ![]() ![]() 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
我把 codeguard 找到的 2段例外程式處理掉後,codeguard 就沒有訊息了,只有一堆呼叫次數的紀錄了。
> Release Memory 釋放記憶體 這一篇有效,我直接在最外層的迴圈內加上 if( Win32Platform == VER_PLATFORM_WIN32_NT){ SetProcessWorkingSetSize(GetCurrentProcess, 0xFFFFFFFF, 0xFFFFFFFF) ; Sleep(100) ; } bcb.exe 每次佔用的記憶體變成不到 200KB... 謝謝 salo0610 大大 另外等於也證實在 BCB 的 IDE 模式下執行程式時,當使用 new & delete 時,只是註記釋放而已,並沒有真的直接把相關的實體記憶體給立即釋放掉。
------
無所不在 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |