線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1124
推到 Plurk!
推到 Facebook!

請教如果程式執行一段時間後會出現Access Violation,該怎麼抓bug呢?

缺席
danielj
初階會員


發表:65
回覆:135
積分:40
註冊:2003-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-28 15:36:02 IP:61.220.xxx.xxx 未訂閱
小弟的一個程式在執行一段時間後(長短不一定)就會出現Access Violation或者根本整個程式自動關閉的現象。而這種情況不是一下子就出現,所以不大可能直接以debug模式去抓,請教大家要如何抓程式bug在那裡呢? 先謝謝大家囉!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-28 15:44:31 IP:140.135.xxx.xxx 未訂閱
danielj您好:   通常發生Access Violation都是因為記憶體沒有釋放所造成的   您先確認一下是否有遺漏的地方   最好能將程式碼貼上,讓大家給您建議    順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
danielj
初階會員


發表:65
回覆:135
積分:40
註冊:2003-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-28 23:20:54 IP:210.64.xxx.xxx 未訂閱
多謝taishyang您的回答! 不過程式不太方便貼出來,小弟自行查了好幾回,應該是沒有您說的動態增加卻沒有釋放的情況。 聽說BCB有一個工具叫CodeGuard,它可以拿來抓Access Violation發生處的程式位置,小弟亂試了一下試不出來,不知道有沒有人試過,且能成功抓出Access Violation的程式碼位置的?有的話能否將操作及設定的方式流程與小弟和大家分享,謝謝啦!
davidchang
一般會員


發表:4
回覆:10
積分:2
註冊:2002-08-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-04 19:57:21 IP:61.220.xxx.xxx 未訂閱
Code Guard還不錯用, 可以抓出一些沒注意到的記憶體問題 使用方式為在你的project下的option, 把Code Guard打勾 然後再重新build你的程式, 再按f9執行 記得把你程式所有的功能都執行一次或數次 再關掉程式, 若有問題就會有個視窗跳出來告訴你那裡錯 你可以寫個簡單的程式練習一下 開個新project, 上面放個button 在onclick打入 char *a; a=new char[100]; Button1->Caption="OK"; 把Code Guard打開, 並執行程式 按button數次, 你應該就可以看到錯誤報告了 Access Violation如taishyang所講的, 大部份都是記憶體的問題 把你的code有關memcpy,strcpy,new,delete再看一篇吧
danielj
初階會員


發表:65
回覆:135
積分:40
註冊:2003-06-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-05 09:45:03 IP:203.74.xxx.xxx 未訂閱
謝謝davidchang,我的程式有點亂有點長,可能需要一些時間整理才比較容易找出問題,您所提的用法我學到了,謝謝您!
danielx2000
一般會員


發表:29
回覆:33
積分:22
註冊:2002-09-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-10 22:47:29 IP:61.218.xxx.xxx 未訂閱
Dear sir: 不知這個CODE GUADE,在DELPHI中有沒有同樣的功能(或是有相關的TOOLS可解決這個問題),我最近也被這個問題困擾著,程式一大,問題也越來越難抓. Thanks
davidchang
一般會員


發表:4
回覆:10
積分:2
註冊:2002-08-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-19 11:16:20 IP:61.220.xxx.xxx 未訂閱
沒用過Delphi, 不過都是同一家出的, 應該有吧, 你可以找找看. Code Guard的功能比較簡單, 至於其他相關工具我只用過Bounds Checker, 它是NuMega出的, 有點貴, 不過若能找出問題, 花點錢又何妨
系統時間:2024-06-27 1:08:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!