在Series 60 SDk中可以使用兩個版本的模擬器可執(zhí)行文件:一個版本包含符號調試信息,另一個是發(fā)布版本。發(fā)布版模擬器限制為只能評估或演示應用程序--它啟動得很快,因為它不帶有調試信息。
兩個版本都叫做epoc.exe,但是它們位于自己的子目錄中。Epoc這個名字是歷史遺留的--它是Symbian OS以前的操作系統(tǒng)的名稱。
在正常的開發(fā)活動中,經常使用模擬器的調試形式。根據你選擇的IDE,你可以正常地使用調試版本或在"調試模式"中使用調試版本。能夠在兩種模式下運行同一個"調試模擬器"起初看起來有點混亂。
有時候你可能希望啟動模擬器,定位應用程序并運行它,而這僅僅是為了測試的目的。如果出現了嚴重的錯誤,模擬器和應用程序將以受到約束的方式關閉。
還有些時候你可能希望在自己認為存在問題的特殊地方(代碼中)設置斷點(breakpoint),接著讓IDE在"調試模式"下運行模擬器。接著你定位應用程序并運行它。與應用程序適當地交互操作將會遇到代碼中的斷點。在斷點上,源代碼將顯示在IDE中,并且同時顯示與應用程序相關的所有符號調試信息。接著你可以在受控制的情形下,使用IDE的調試特性一步一步地調試代碼片斷。你可以查看IDE顯示的應用程序源代碼、數據、調用堆棧和其它與調試相關的信息,幫助自己跟蹤到代碼或邏輯中的錯誤。
圖1-3. Series 60平臺1.2調試模擬器的應用程序表格和列表視圖
圖1-4.微軟Visual C++ IDE下處于調試模式的HelloWorld應用程序
模擬器可執(zhí)行文件位置
Series 60 1.2 SDK發(fā)布版模擬器典型情況下位于下面的位置:
對于Visual C++
\Symbian\6.1\Series60\Epoc32\Release\wins\urel\epoc.exe
對于Borland C++
\Symbian\6.1\Series60\Epoc32\Release\winsb\urel\epoc.exe
對于CodeWarrior
\Symbian\6.1\Series60\Epoc32\Release\winscw\urel\epoc.exe
調試版模擬器典型情況下位于:
對于Visual C++
\Symbian\6.1\Series60\Epoc32\Release\wins\udeb\epoc.exe
對于Borland C++
\Symbian\6.1\Series60\Epoc32\Release\winsb\udeb\epoc.exe
對于CodeWarrior
\Symbian\6.1\Series60\Epoc32\Release\winscw\udeb\epoc.exe
精確的路徑依賴于你在安裝SDK的時候選擇的選項。在Series 60 2.x SDK中模擬器的路徑將非常類似--例如\Symbian\Series602_0\Epoc32\release\wins\udeb\epoc.exe。
圖1-3顯示了Series 60 1.2模擬器。它啟動時顯示應用程序主菜單為表格視圖或列表視圖。
Series 60 2.0模擬器啟動的外形類似電話應用程序,你必須通過按下圖1-3所示的應用程序按鈕導航到應用程序菜單。無論使用哪種版本的Series 60平臺,一般把模擬器可執(zhí)行文件的調試(udeb)版本作為開發(fā)項目的默認選項--例如\Epoc32\Release\wins\udeb\epoc.exe。
模擬器調試模式
在模擬器的調試模式下運行應用程序的時候,源代碼、函數調用堆棧、變量信息等在遇到代碼斷點的時候會立即顯示出來,如圖1-4所示。如果應用程序代碼沒有處在需要用戶輸入的位置,模擬器窗口本身可能消失了(它被最小化了)。
從命令提示符運行模擬器
如果需要從命令行運行調試模擬器,只需要打開命令提示符,把當前路徑改變到epoc.exe應用程序所在的Series 60 SDK文件夾(例如\Symbian\6.1\Series60\Epoc32\Release\wins\udeb)并輸入下面的內容:
epoc
上面的命令將啟動調試模擬器,接著你可以定位并運行自己的應用程序了,但是它并非處于調試模式之中。要使被調試的應用程序運行在模擬器的調試模式之下只能從IDE內部完成。如果要運行發(fā)布版模擬器,需要輸入:
epoc -rel
在Visual C++ IDE中運行模擬器
在Visual C++ IDE中你按下Ctrl+F5或從菜單中選擇Build|Execute Epoc.exe就可以啟動模擬器的調試版本。這樣將使模擬器處于非調試模式。作為代替,按下F5或從菜單中選擇Build|Start Debug|Go將使模擬器處于調試模式。
當你第一次運行某個Visual C++項目的模擬器的時候,會出現一個對話框向你詢問可執(zhí)行文件的名稱。請導航到SDK的根目錄的\Epoc32\Release\wins\udeb文件夾的epoc.exe文件。
在Borland C++Builder 6和C++BuilderX IDE中運行模擬器
你可以使用Tools|Mobile Build Tools菜單選項,選擇Run Emulator來啟動模擬器的調試版本?;蛘呤褂肦un|Run菜單選項(F9),但是它會引起項目每次都重新建立--而這花費的時間可能很長。使用這個選項的時候,你可能需要在模擬器啟動之前終止建立對話框("Compiling")。
如果你在C++BuilderX中運行模擬器,使用Run|Debug Project菜單選項或按下Shift+F9。如果你希望重新建立項目并啟動模擬器,選擇Run|Run Project或按下F9。
在CodeWarrior IDE中運行模擬器
選擇Project|Run菜單選項或按下Ctrl+F5運行模擬器。按下F5或使用Project|Debug菜單選項使模擬器運行在調試模式。
定位和運行應用程序
通過點擊模擬器的招牌位圖上的光標鍵的圖片,或者使用PC鍵盤光標(箭頭)鍵導航并選擇HelloWorld應用程序。點擊"Selection"按鈕(在光標控制鍵的中間)啟動應用程序。
注意
沒有特定圖標的應用程序(在.aif文件中指定)將會被賦予一個默認的圖標,它看起來像一片鋸齒狀拼盤。
在某些SDK/IDE(例如Borland和CodeWarrior的一些版本)中,你建立的應用程序可能位于"Other"文件夾下,而不在主桌面上。如果出現這種情況,請導航并選擇Other文件夾,接著通過點擊"Selection"按鈕打開它。導航并選擇HelloWorld應用程序并點擊"Selection"按鈕調用該應用程序。
圖1-5."HelloWorld"應用程序
調試應用程序
作為代替,你可以在IDE中使模擬器上運行的應用程序處于調試模式--這個過程驗證依賴于使用的IDE。典型情況下,你需要首先在源代碼的適當位置設置斷點。
啟動處于調試模式的模擬器。由于要調試的是應用程序(本質上是動態(tài)鏈接庫DLL),而不是模擬器本身,你需要導航并運行應用程序。該應用程序將會啟動,碰到你設置的斷點的時候執(zhí)行會停止。接著你可以使用自己選擇的IDE工具逐步執(zhí)行應用程序的源代碼。
更多的IDE幫助
本文沒有不同IDE功能的更多介紹,因此如果你要查詢更多的IDE幫助信息,可以通過Help菜單選項進行。
對于微軟Visual C++,你可以選擇Help|Contents菜單選項,它在與IDE一起安裝的MSDN中提供。
對于Borland C++Builder 6,你可以使用Help菜單選項。你會發(fā)現除了標準的Borland幫助文件之外還有一個獨立的Help|Borland C++ Mobile Edition Help頁面。對于C++BuilderX,你可以選擇Help|Help Topics,然后選擇Mobile Development。
對于Metrowerks CodeWarrior,有一個Help|Online Manuals菜單選項,它包含了使用Symbian OS時大量的有價值的信息。
還有更多的特定IDE信息可以在線獲得--例如到http://msdn.microsoft.com/鏈接查找Visual C++信息,到http://bdn.borland.com/鏈接查找Borland C++信息,到http://www.metro-werks.com/MW/Develop/Wireless/鏈接查找CodeWarrior信息。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=460550