Debug 的問題 不能停在 Source Code? |
尚未結案
|
newbie
初階會員 發表:81 回覆:45 積分:25 註冊:2002-11-28 發送簡訊給我 |
大家好, 小弟有幾個亂七八糟的問題想請教各位, 1.BCB5 的環境在 IDE Debug 環境下會發生 Error 但 Build 成執行檔卻不會? 這是 BCB5 Bug? 2.程式總在不知道哪個時候會發生 (Event Log 如下)
First Chance exception at 0x00000001' Exception class C0000005 with message! ' access violation at 0x00000001: read of address 0x00000001: process project1.exe(0x180).
看起來是 Access 到不對的記憶體, 但是 IDE 介面卻不會停在發生問題的程式碼上, 只有一個 Messagebox 會說 Please press Run/Step for Debug..
但是按了之後只是一值出現原來的 Error Message.這樣對問題解決沒有幫助
是否疏忽掉什麼設定, 才能使類似這樣的 Exception 停留在 Source Code 上. 3. 延續項次2, 該 Messagebox 左下會有一個 View Cpu Window 的選項,
可是我開了該 Cpu Window 後只看到一堆 Address 啦等等的資訊,這個 CPU window 如何幫助我們除錯? 如依發生問題的 Address 直接連到程式碼上? 4. 在未載入任何 Project 時 BCB 的整個環境設定包括 Debug/Editor Option 是否有提供 Template 的儲存方式可以給新的專案直接 Import 進來哩? 目前我的設定方式是
1. [Tools]/[Debugger Option]/[Language Exception] 選取 Stop on C Excpetion
2. [Tools]/[Debugger Option]/[OS Exceptions]
將所有 Exception Assign 成 Handle by by Debugger,
將所有 Exception Assign 成 OnResume 為 unhandled.
並選取 Integrate debugging
問題一堆,謝謝大家的協助, < > < >
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
我試著回答,不一定是正解,因為您的問題我想不是每個人都遇得到
<>< face="Verdana, Arial, Helvetica">引言:
大家好, 小弟有幾個亂七八糟的問題想請教各位, 1.BCB5 的環境在 IDE Debug 環境下會發生 Error 但 Build 成執行檔卻不會? 這是 BCB5 Bug?
要說是 BCB5 的 Bug 也算,說不是也算,因為之前我也遇到過,當您的程式內有一些特殊的運算或API叫用或 inline assembly 時,就有可能出現類似的狀況。因為我沒有 BCB6 沒有將發生的程式那去 BCB6 IDE RUN 所以不能確認別的版本會不會有類似的狀況。
當發生此狀況時,只能說... 請使用其他的方式除錯,如包大人常常建議的 DebugView 或其他的工具。
引言: 2.程式總在不知道哪個時候會發生 (Event Log 如下) First Chance exception at 0x00000001' Exception class C0000005 with message! ' access violation at 0x00000001: read of address 0x00000001: process project1.exe(0x180). 看起來是 Access 到不對的記憶體, 但是 IDE 介面卻不會停在發生問題的程式碼上, 只有一個 Messagebox 會說 Please press Run/Step for Debug.. 但是按了之後只是一值出現原來的 Error Message.這樣對問題解決沒有幫助 是否疏忽掉什麼設定, 才能使類似這樣的 Exception 停留在 Source Code 上.對於一般的程式,只要在 Debug Mode Compile 後在 IDE 內執行,就會有小藍點,此時如果有發生 Exception 則會停在發生問題的行號上。 但如果在 IDE 內執行就沒有小藍點,或是發生的 Exception 是在別人的沒有原始碼的程式內(如使用 3rd Party 的 Package),則在誤用函式或元件的狀況下所發生的 Exception,BCB 就不知道要停在那兒了,此時,同樣,使用 DebugView 或類似的工具來除錯。 引言: 3. 延續項次2, 該 Messagebox 左下會有一個 View Cpu Window 的選項, 可是我開了該 Cpu Window 後只看到一堆 Address 啦等等的資訊,這個 CPU window 如何幫助我們除錯? 如依發生問題的 Address 直接連到程式碼上?一般以我個人的經驗是很難由 CPU Windows 與自己的程式對應,除非您很常用組語,而且對組語的除錯工具很熟,如 SoftICE 之類的,否則,應該是很難看得懂。 引言: 4. 在未載入任何 Project 時 BCB 的整個環境設定包括 Debug/Editor Option 是否有提供 Template 的儲存方式可以給新的專案直接 Import 進來哩?未載入任何 Project 時所作的設定會存成 default.bpr 放在 BCB\BIN 的目錄內,日後只要是 New Project 就會以它作 Template。 引言: 目前我的設定方式是 1. [Tools]/[Debugger Option]/[Language Exception] 選取 Stop on C Excpetion 2. [Tools]/[Debugger Option]/[OS Exceptions] 將所有 Exception Assign 成 Handle by by Debugger, 將所有 Exception Assign 成 OnResume 為 unhandled. 並選取 Integrate debugging 問題一堆,謝謝大家的協助, < > < >我都沒設過,與預設不同的是 所有 Exception Assign 是設成 Handle by User program. 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |