




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第11章 應用調試和發行 相應用程序開發來說,錯誤再所難免,調試環節必不可少。調試目的是努力發覺并更正錯誤,使程序能更加好地運營。 11.1 應用程序調試 PowerBuilder提供了兩種運營應用程序方式:調試方式(Debug Mode)和常規方式(Regular Mode)。在調試方式中,可在腳本和函數中插入斷點或進行代碼單步執行,并且能夠顯示執行過程中變量值,以便找出邏輯錯誤。在常規方式中,應用程序響應用戶交互操作直到用戶中斷運營或發生錯誤為止。這也是運營完整應用程序方式。 調試應用程序普通驟下列:1打開調試(Debug)窗口;2在應用程序中設置斷點(Breakpoint);3在調試狀態
2、下運營應用程序;4當執行到斷點處掛起時,查看或改變相關變量值;5如有必要,逐行單步運營代碼;6依據需要,在運營過程中增添或修改斷點;7當發覺問題時,糾正錯誤代碼。結束放映第一頁上一頁下一頁最后一頁第1頁第1頁11.1.1 打開調試窗口 單擊PowerBar工具欄中Debug圖標或Select Debug圖標,進入Debug窗口,以下圖所表示。 結束放映第一頁上一頁下一頁最后一頁第2頁第2頁11.1.1 打開調試窗口下面簡介圖中圖標含義 。 Start圖標:開始執行應用。單擊該圖標按鈕可按調試方式執行當前應用。 Start Remote圖標:開始執行遠程應用。用于調試服務器端代碼。 Stop D
3、ebugging圖標:停止調試當前應用程序。 Continue圖標:繼續執行。當程序碰到斷點暫停執行時,單擊該按鈕即可使程序繼續執行到下一個斷點。 Step In圖標:單步跟蹤至用戶自定義函數內部,以檢查函數當初狀態。 Step Over圖標:單步跟蹤并跨越函數。該按鈕只把函數當作一條語句來看待,并不跟蹤至函數內部。 Step Out圖標:從函數內部一次執行完。當已經跟蹤到函數內部又不希望繼續單步跟蹤時,可利用該按鈕繼續執行直至函數返回。 Run To Cursor圖標:執行至指定光標處。可利用該按鈕指定位置,始終執行至當前光標所在語句。 Set Next Statement圖標:設置下一條要
4、執行語句。該按鈕使從用戶指定位置執行。 Select Script圖標:選擇要調試某一對象上某個事件程序或用戶自定義函數中程序。結束放映第一頁上一頁下一頁最后一頁第3頁第3頁11.1.1 打開調試窗口Edit Stop圖標:編輯斷點。能夠查看所有斷點,設置暫時斷點、條件斷點,也能夠清除斷點。 Add Watch圖標:向Watch視圖中添加變量。 Remove Watch圖標:從Watch視圖中刪除變量。 Close圖標:關閉Debug畫板。在Debug窗口中包括了幾種視圖和標簽,用來顯示程序或調試期間狀態信息。它們是: Source視圖:顯示用戶選中事件腳本; Source Browser標簽
5、視圖:將當前應用程序包括所有對象以樹形結構顯示; Source History標簽視圖:在Source視圖中已經顯示過程序列表; Local標簽視圖:顯示當前執行狀態下局部變量值; Global標簽視圖:顯示當前執行狀態下全局變量值; Instance標簽視圖:顯示當前執行狀態下實例變量值; Parent標簽視圖:顯示當前執行狀態下父對象屬性值; Shared標簽視圖:顯示當前執行狀態下共享變量值; 結束放映第一頁上一頁下一頁最后一頁第4頁第4頁11.1.1 打開調試窗口在Debug窗口中包括了幾種視圖和標簽,用來顯示程序或調試期間狀態信息。它們是: Object In Memory標簽視圖:
6、當前內存中對象列表; Call Stack標簽視圖:執行至斷點處被調用函數列表,并給出被調函數所在程序名和行號; Breakpoints標簽視圖:批示斷點激活是否列表; Watch標簽視圖:在應用執行過程中,已經觀測過程序列表; Variable視圖:在范圍內所有變量列表。 11.1.2 設置斷點在Debug窗口中斷點分為兩種:普通斷點和特殊斷點。普通斷點是為了中斷程序正常執行所設置位置;特殊斷點則是依據指定條件來決定是否中斷程序正常執行,并進入調試狀態。1普通斷點設置用戶可在程序或函數內設置斷點。當關閉Debug窗口時,用戶設置斷點將寫入PowerBuilder初始化文獻PowerBuild
7、er.ini中,用戶再次打開Debug窗口時恢復所設置斷點。其設置環節下列: 結束放映第一頁上一頁下一頁最后一頁第5頁第5頁11.1.2 設置斷點1普通斷點設置(1)在Source視圖中顯示程序,并把光標置于欲設置斷點位置;(2)雙擊此行或從右擊彈出菜單中選擇Insert Breakpoint。PowerBuilder設置斷點以紅色圓點顯示在行開頭。如所選行不包括可執行代碼,PowerBuilder將在最近可執行代碼開始處設置斷點。2特殊斷點設置特殊斷點又分為三類:當循環執行指定次數而觸發暫時斷點;當指定表示式為真時而觸發條件斷點;當變量值發生改變而觸發斷點。特殊斷點可用Edit Breakp
8、oints對話框來設置。 Edit Breakpoints對話框通過下列四種方式打開。 在Breakpoints視圖中,雙擊欲設置斷點行; 在Source、Variables、Watch、Breakpoints視圖中,單擊鼠標右鍵,從彈出菜單中選Breakpoints項; 選擇菜單欄Edit中Breakpoints項; 單擊工具條Edit Stop圖標 。 下列頁圖所表示。當紅色圓點為空心時,表示該斷點無效;當紅色圓點為實心時,表示該斷點有效。單擊圓點可在兩個狀態之間轉換。 結束放映第一頁上一頁下一頁最后一頁第6頁第6頁11.1.2 設置斷點2特殊斷點設置結束放映第一頁上一頁下一頁最后一頁第7
9、頁第7頁11.1.2 設置斷點 2特殊斷點設置 New:設置新斷點; Clear:清除光標所在行斷點; Clear All:清除所有斷點。下列欄目用以設置暫時斷點和條件斷點: Location:輸入斷點位置; Occurrence:暫時斷點循環次數(Integer型);單選此項可設暫時斷點; Condition:條件斷點條件表示式;單選此項可設條件斷點; Occurrence和Condition:同時選擇可設暫時條件斷點。 11.1.3 在調試狀態下運營應用程序用戶設置了斷點以后,就能夠在調試狀態下運營應用程序。當應用程序碰到斷點時,就會終止程序運營,等待用戶檢查。檢查完應用后,用戶能夠單步跟
10、蹤直至碰到下一個斷點;也能夠停止跟蹤運營,以便執行新調試或退出Debug窗口。 1開始運營單擊工具欄上Start圖標,應用程序開始執行,直至碰到第一個斷點停止,并用黃色箭頭指向下一條將被執行行。此時用戶可在窗口各視圖中查看應用變量和狀態信息。 結束放映第一頁上一頁下一頁最后一頁第8頁第8頁11.1.3 在調試狀態下運營應用程序2繼續運營單擊工具欄上Continue圖標,調試程序將從黃色箭頭處開始繼續運營,直至碰到下一個斷點或應用正常結束。3終止運營選擇菜單欄Debug中Stop菜單項。4查看變量Variables視圖包括Local、Global、Instance、Parent和Shared變量
11、類型標簽頁,用戶能夠很以便地在各種變量間進行切換。各變量類型含義下列: Local:當前程序或函數局部變量; Global:所有應用定義全局變量和所有打開對象屬性; Instance:當前對象實例變量屬性和當前對象定義實例變量值; Parent:當前實例祖先屬性; Shared:已打開對象以及與之相關共享變量。在Variables視圖中,可改變變量值。但枚舉類型變量值不可改變。改變辦法是:右擊Variables視圖中相應變量,從彈出菜單中單擊Edit Variables,則顯示Modify Variable對話框。 Current Value欄顯示了變量原值,用戶可在New Value欄輸入變
12、量新值,輸入完畢單擊OK按鈕即可。 結束放映第一頁上一頁下一頁最后一頁第9頁第9頁11.1.3 在調試狀態下運營應用程序在Variables視圖中,也能夠查看表示式值,但首先應將表示式添加到Watch視圖中。辦法是在Watch視圖空白處單擊鼠標右鍵,從彈出菜單中選擇Insert項,顯示New Expression對話框。在Expression欄輸入欲查看表示式即可。 5單步跟蹤單步跟蹤有下列幾種方式: 單步跟蹤至函數內部(Step In)和單步跟蹤并跨越函數(Step Over)用戶在跟蹤應用時,既能夠單步跟蹤到函數內部,也能夠單步跟蹤并跨越函數。假如此程序不包括函數調用,兩者效果相同。單擊工
13、具欄上Step In圖標或選擇Debug菜單中Step In菜單項將執行單步跟蹤至函數內部。單擊工具欄上Step Over圖標或選擇Debug菜單中Step Over菜單項將執行單步跟蹤并跨越函數。 從函數內部一次執行完(Step Out)如已經跟蹤到函數內部而又不想繼續單步跟蹤,可用Step Out繼續執行直至函數返回。單擊工具欄上Step Out圖標或選擇Debug菜單中Step Out菜單項將從函數內部一次執行完。結束放映第一頁上一頁下一頁最后一頁第10頁第10頁11.1.3 在調試狀態下運營應用程序 執行至指定光標處(Run To Cursor)用戶可用這種方式跳過一段不感興趣程序段或
14、跳至指定斷點處。選擇下一次欲單步跟蹤程序行,單擊工具欄上Run To Cursor圖標或選擇Debug菜單中Run To Cursor菜單項將運營至指定行。 設置下一位置(Set Next Statement)用戶可使用Set Next Statement來繞過包括錯誤代碼或用指定變量值來測試部分應用。程序將從用戶指定光標處繼續執行。選擇欲繼續執行行,單擊工具欄上Set Next Statement圖標或選擇Debug菜單中Set Next Statement菜單項將運營至指定行。繼續執行,可選擇Continue、Step In、Step Over之一。 6一次性跟蹤使用用戶在常規模式下運營程
15、序并發覺錯誤時,普通做法是中斷程序運營,也能夠通過使用一次性跟蹤(Just-in-time Debug)在不中斷應用前提下切換到跟蹤模式。 首先進行一次性跟蹤設置:從Tool菜單中選擇System Options菜單項,顯示System Options窗口。從中選中Just-in-time Debugging復選框,單擊OK按鈕即可。 結束放映第一頁上一頁下一頁最后一頁第11頁第11頁11.1.3 在調試狀態下運營應用程序在常規模式下運營應用程序:單擊工具欄中Run圖標,應用程序開始正常運營。假如發生系統錯誤,Debug窗口將自動打開,顯示錯誤信息。在Debug窗口Source視圖中打開程序并
16、進行調試。11.2 應用程序運營當應用程序調試通過之后,就能夠在常規狀態下運營了。單擊工具欄中Run圖標,應用程序開始正常運營。 11.3 生成可執行文獻和其它軟件同樣,用PowerBuilder開發應用程序也需通過編譯才干生成可執行應用程序。PowerBuilder提供編譯工具能夠將應用程序編譯成直接在操作系統下運營應用程序。11.3.1 創建工程及編譯使用Project中Application Wizard建立工程基本環節下列:1在PowerBar工具欄上單擊New圖標,選擇Project標簽頁中Application Wizard向導。 結束放映第一頁上一頁下一頁最后一頁第12頁第12頁
17、11.3.1 創建工程及編譯2在About the Application Project Wizard對話框中單擊Next按鈕。3在Specify Destination Library對話框中選擇存儲工程應用庫,單擊Next按鈕。4在Specify Project Object對話框中命名工程,單擊Next按鈕。5在Specify Executable and Resource Files對話框中給可執行文獻命名,選擇資源文獻,單擊Next按鈕。6在Specify Build Options對話框中選擇編譯類型:Full Build(完全編譯)和Incremental Build(只重新編
18、譯新增部分)。Prompt for Overwrite選中,表示當覆蓋文獻時出現提醒,單擊Next按鈕。7在Generate Machine Code對話框中選擇應用程序是否生成機器代碼,單擊Next按鈕。 8在Specify Dynamic Library Options對話框中選擇擬定應用程序是否生成動態庫,單擊Next按鈕。9在Specify Version Infoumation對話框中填寫版本信息,單擊Next按鈕。 10在Ready to Create Application對話框中單擊Finish按鈕。出現新界面,在此界面中還能夠對前面設置進行修改。結束放映第一頁上一頁下一頁最后
19、一頁第13頁第13頁11.3.1 創建工程及編譯11單擊project畫板上Deploy圖標即可進行編譯應用程序,生成EXE文獻。11.3.2 應用系統 用PowerBuilder開發可執行應用系統普通包括下列三個部分:可執行文獻(即EXE文獻)、動態庫文獻(PowerBuilderD或DLL文獻)、外部資源文獻(如位圖、圖標等)。1EXE文獻對任何PowerBuilder應用來說,都至少需要一個編譯好EXE文獻。這個文獻包括了最基本、能使應用系統在各種操作系統下執行程序代碼,用戶能夠通過雙擊EXE文獻圖標來執行應用程序。2PowerBuilderD文獻或DLL文獻為確保EXE文獻能在普通機器
20、上運營,應使EXE文獻小于1.2MB。假如有也許超出1.2MB,編譯時可利用PowerBuilder動態庫技術,把應用分為幾部分,使應用中對象分別存儲在多個庫文獻中。程序會在動態庫中搜索并動態調用這些庫中對象。動態庫含有可使應用模塊化、易維護、可重用好、靈活高效長處。因此,在組織應用系統時,應當充足利用動態庫技術,把在整個應用中利用率較低對象,或也許被其它應用調用組件作為動態對象放在動態庫中,在可執行文獻中只放少許、使用頻率最高對象。結束放映第一頁上一頁下一頁最后一頁第14頁第14頁11.3.2 應用系統3資源除了如窗口、菜單等PowerBuilder對象之外,應用在執行時還也許用到其它資源,
21、如位圖和圖標等。這些被引用資源同PowerBuilder對象同樣,也應當作為可執行應用一部分編譯。資源發行辦法有兩種:第一,與可執行文獻一起發行。只要將資源與應用一起發行,并確保安裝在可搜索路徑中,程序執行時會搜索這些資源。第二,利用資源文獻(PowerBuilderR文獻)。資源文獻是應用中所需資源清單,在資源文獻中列出了這些資源所在路徑及文獻名。PowerBuilder建立可執行文獻或動態庫時可依據資源文獻中列出資源,將它們連入可執行文獻或動態庫中。這種辦法適合建立一些大型應用。11.4 應用程序發行發行PowerBuilder應用程序時,只在用戶機器上安裝應用程序可執行文獻(包括生成應用程序時生成動態庫)是遠遠不夠。為確保正常運營,還應向用戶發行PowerBuilder運營時所需動態鏈接庫,安裝數據庫接口,配備ODBC數據源,安裝網絡驅動程序,以及必要時修改操作系統配備等。 結束放映第一頁上一頁下一頁最后一頁第15頁第15頁11.4.1 PowerBuilder運營時庫PowerBuilder開發環境中包含一組脫離開發環境運行PowerBuilder應用程序所需運行時庫,稱做PowerBuilder Dev
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論