呼叫DLL檔時出現的程式錯誤 |
尚未結案
|
godoz
一般會員 ![]() ![]() 發表:5 回覆:0 積分:1 註冊:2011-01-03 發送簡訊給我 |
各位前輩
我在呼叫DLL檔時 有出現一個錯誤訊息~ 想請大家指導一下 是什麼原因 Project APFunction.exe raised exception class EAccessViolation with message 'Access violation at address 004DB25B in module 'APFUNCTIONDLL.DLL'. Write of address 000001F8'. Process stopped. Use step or Run to continue. TKS |
rick060
高階會員 ![]() ![]() ![]() ![]() 發表:2 回覆:112 積分:217 註冊:2009-11-17 發送簡訊給我 |
|
aftcast
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
Rick060 幽默
![]() ===================引 用 rick060 文 章=================== 項目APFunction.exe引發的異常類EAccessViolation與信息'在地址004DB25B訪問衝突在模塊'APFUNCTIONDLL.DLL'。收件地址000001F8'。過程停止。使用步驟或運行繼續。
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
Victor4022
中階會員 ![]() ![]() ![]() 發表:0 回覆:76 積分:90 註冊:2011-02-20 發送簡訊給我 |
這麼追法, 希望有點渺茫, 丟出 exception 的點可能也不是你寫的程式 (dll內部), 試試這樣吧:
1. 開啟專案的 map檔 (Project -> Options -> Linker -> Map file -> Detailed) 2. build all 3. 重現錯誤 4. 將錯誤的 memory 位置 扣掉 Image base 再扣掉 Code base 5. 將所得得數字, 反查 .Map 檔, 推斷看看出錯的點是在哪段程式碼 (看您貼的圖, 應該是 System.pas 之類的程式)... 至少先查出哪個 function 或哪段程式碼造成這個錯誤吧.... 至於 Image base 可以從上面第1點看到 (Delphi 7 設計是 Map file 和 Memory Sizes 在一起, 其他版 Delphi 可自行找查) Code base 網路上隨便找個看 PE Header就能查出來了... 還有, 可以檢查一下您的 DLL 宣告與調用方式, 是否符合 dll export 出來的定義... 加油..... ===================引 用 godoz 文 章=================== 各位前輩 我在呼叫DLL檔時 有出現一個錯誤訊息~ 想請大家指導一下 是什麼原因 Project APFunction.exe raised exception class EAccessViolation with message 'Access violation at address 004DB25B in module 'APFUNCTIONDLL.DLL'. Write of address 000001F8'. Process stopped. Use step or Run to continue. TKS |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |