全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3076
推到 Plurk!
推到 Facebook!

Debug 的問題 不能停在 Source Code?

尚未結案
newbie
初階會員


發表:81
回覆:45
積分:25
註冊:2002-11-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-28 15:35:09 IP:61.220.xxx.xxx 未訂閱
大家好,    小弟有幾個亂七八糟的問題想請教各位,    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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-11 09:26:01 IP:211.76.xxx.xxx 未訂閱
我試著回答,不一定是正解,因為您的問題我想不是每個人都遇得到  <>< 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
系統時間:2024-05-12 3:35:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!