一針見血
隨筆 - 2, 文章 - 73, 評論 - 60, 引用 - 0
數據加載中……
[S60]Symbian學習筆記:Debug On Device[轉]
在BREW的開發環境中,沒有一個聯機調試工具,一直是我覺得相當不方便的事情。在S60平臺上做開發,至少這一點是能滿足我們的需要。
第一種方法:Carbide C++ v1.2 的 Debug On Device
Carbide C++1.2的pro.以上版本都支持設備調試,實在是一件大快人心的事。
要實現這個功能,也是相當的方便,當然前提是你用的是Carbide C++ v1.2的Pro.以上版本。
按正常模式寫程序,在模擬器上都弄的差不多了,想放到設備中調試的話,只需要做下面幾步:
1、先在設備中安裝一個軟件,安裝包在carbide的安裝目錄下,我機器上的位置是C:\Nokia\Carbide.c++ v1.2\plugins\com.nokia.carbide.trk.support_1.2.0.29\trk\s60,下面有兩個 sis文件,因為我要在N73上調試,所以我選擇其中的s60_3_0_app_trk_2_7.sisx這個,另一個3_1是用于3rd.FP1手機的。安裝后在手機里就有一個TRK應用了。
2、安裝成功后,在手機上啟動這個服務TRK,因為我是用的USB線,所以點選項,改成USB,端口是1(這里比較奇怪,明明我的端口應該是COM6)。啟動后窗口顯示:Status:Connected.
3、在Carbide C++中,配置一下編譯輸出目標為Phone Debug(GCCE),這個很重要,只有DEBUG才行。編譯出SISX文件。
4、打開DEBUG窗口(即debug...),在配置中的第一項“Symbian OS App Trk“下建立一個新項。幾個窗口的輸入如下圖所示:
5、點Apply,然后Debug,就可以啟動調試。余下的事情與在模擬器中調試就一樣了,沒啥好說了。
第二種方法:利用S60 SDK自帶的Ecmt工具進行DEBUG
如果我們用的是Carbide C++ 的Express版(免費版本)的話,我們沒辦法做設備聯機調試,但是可以用SDK中的工具在程序中將調試信息打印到控制臺上。在BREW平臺上主要就是依靠這種方式。
Symbian提供了一個REmct可以用于遠程調試,并且它還提供了兩個配套工具:手機端的ecmtagent_cpp.sis和PC端的Device Connection。
這種方式比前一種要稍復雜一點了,因為涉及到代碼的修改。
1、首先同樣是在手機上安裝一個軟件ecmtagent_cpp.sis(不過3rd.的SDK下這個東西不能用,說簽名過期之類的錯誤,只能安裝3rd. FP1的SDK下的那個同名sis,唉,也不知道Nokia是咋回事)。
2、同樣在調試前也是要啟動手機上的ecmtagent代理,設置成USB連接(不需要選擇端口了)。然后看到窗口上顯示listening。
3、在PC上啟動那個Device Connection,選擇COM6去connect它,狀態成為connected。這時發現手機上也顯示connected。表明連接成功了。在Device Connection中打開那個Diagnostics工具,所有的調試信息的就是輸出到它的窗口里。
4、最麻煩的是需要修改代碼。
A) 修改mmp,加上這個lib。即:
LIBRARY EcmtClient.lib
B) 在要輸出調試信息的那個類的h文件中加上:
#ifdef _DEBUG
#include
<
EcmtClient.h
>
#endif
... ...
class CDemoUIAppView : public CCoeControl,MBeating {
... ...
private
:
#ifdef _DEBUG
REcmt iEcmt;
#endif
C) 然后在cpp中加上一個初始化與銷毀。
void
CDemoUIAppView::ConstructL(
const
TRect
&
aRect )
...
{
CreateWindowL();
... ...
#ifdef _DEBUG
iEcmt.Connect();
#endif
}
CDemoUIAppView::
~
CDemoUIAppView()
...
{
... ...
#ifdef _DEBUG
iEcmt.Close();
#endif
}
D) 然后就是在需要輸出的地方這樣一下:
void
CDemoUIAppView::Beat()
...
{
this
->
total
++
;
if
(
this
->
total
>
100
)
...
{
this
->
total
=
0
;
iHeart
->
Cancel();
}
TBuf
<
16
>
buf;
buf.Format(KMsgFormat,
this
->
total);
iLabel
->
SetTextL(buf);
DrawNow();
#ifdef _DEBUG
iEcmt.WriteFormat(KFormattedText,
this
->
total);
#endif
}
5、編譯程序,同樣是GCCE下的Phone Debug,自己手工安裝到手機里,執行它就可以了。要注意的一點是,因為此時前面的那個ecmtagent正在運行,需要將它切到后臺去(不是關閉啊!!!)。在Diagnostics的窗口中就會看到輸出的調試信息了。
最后要補充一點的是,我在嘗試這兩種調試方法的時候,經常遇到打開端口失敗或者連接失敗的情況,一般重啟一下手機就正常了,不知道是BUG呢還是因為我同時弄了兩個代理在手機里照成的沖突,如果你在使用過程中發現不順了,不妨也重啟一下手機吧。
posted on 2008-04-26 14:55
郭天文
閱讀(1034)
評論(0)
編輯
收藏
引用
所屬分類:
S60
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
[S60] S60中Socket Api的調用方法[轉載]
[S60]ARM平臺獨有問題 Writable Static Data in DLLs
[S60]Symbian學習筆記:Debug On Device[轉]
[S60]模擬器配置訪問網絡
[S60]symbian基本類型轉換
[s60]如何進行Express Signed的簽名
[S60]Symbian 應用軟件開發、測試與 S60 平臺安全常見問題問答
手機開發平臺指南、教程和資料介紹[轉載]
[S60]在程序的導航條中插入文本或圖片
音頻編解碼標準
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 郭天文
導航
C++博客
首頁
新隨筆
聯系
聚合
管理
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(11)
給我留言
查看公開留言
查看私人留言
隨筆檔案
(2)
2007年12月 (1)
2007年9月 (1)
文章分類
(105)
BlackBerry(5)
(rss)
Brew(3)
(rss)
iPhone(1)
(rss)
J2ME(21)
(rss)
S60(24)
(rss)
VC++(15)
(rss)
Windows Mobile(36)
(rss)
文章檔案
(73)
2010年6月 (1)
2009年4月 (1)
2008年12月 (1)
2008年10月 (2)
2008年9月 (1)
2008年7月 (4)
2008年6月 (3)
2008年5月 (2)
2008年4月 (9)
2008年3月 (8)
2008年2月 (9)
2008年1月 (6)
2007年12月 (12)
2007年11月 (4)
2007年10月 (5)
2007年9月 (5)
搜索
最新評論
1.?re: 回車和換行的區別
抄過來的都不知道改改SB
--樂超
2.?re: CListCtrl::SortItems方法
11111111111111
--月下美人
3.?re: [Windows Mobile]開發書籍介紹
評論內容較長,點擊標題查看
--buy resumes
4.?re: [Windows Mobile]開發書籍介紹
評論內容較長,點擊標題查看
--here
5.?re: [Windows Mobile]開發書籍介紹
評論內容較長,點擊標題查看
--check this link
閱讀排行榜
1.?[轉]Eclipse五歲了:Java程序員的Eclipse情結(2808)
2.?大家好!(556)
評論排行榜
1.?[轉]Eclipse五歲了:Java程序員的Eclipse情結(14)
2.?大家好!(0)
中文字幕久久欲求不满
|
久久伊人五月丁香狠狠色
|
狠狠色丁香久久婷婷综
|
久久久噜噜噜久久中文字幕色伊伊
|
久久综合视频网
|
国产高潮久久免费观看
|
99久久国产热无码精品免费
|
久久丫忘忧草产品
|
WWW婷婷AV久久久影片
|
久久五月精品中文字幕
|
亚洲AV日韩AV永久无码久久
|
最新久久免费视频
|
国内精品伊人久久久久网站
|
精品久久久久久无码中文字幕
|
亚洲午夜久久久久久久久久
|
久久亚洲中文字幕精品一区四
|
久久妇女高潮几次MBA
|
亚洲AV无码久久精品色欲
|
久久成人永久免费播放
|
精品亚洲综合久久中文字幕
|
久久亚洲AV无码精品色午夜麻豆
|
国产L精品国产亚洲区久久
|
精品无码久久久久国产
|
亚洲国产另类久久久精品
|
久久夜色撩人精品国产小说
|
国产一久久香蕉国产线看观看
|
久久久久久久精品妇女99
|
四虎亚洲国产成人久久精品
|
伊人久久大香线蕉综合Av
|
一级a性色生活片久久无
|
久久久久亚洲AV片无码下载蜜桃
|
久久亚洲精品无码观看不卡
|
国产精品欧美久久久久无广告
|
国内精品久久久久久麻豆
|
亚洲精品无码久久久影院相关影片
|
亚洲国产日韩欧美综合久久
|
欧美一区二区久久精品
|
精品无码久久久久国产动漫3d
|
久久精品国产欧美日韩99热
|
久久婷婷色综合一区二区
|
亚洲AV无码1区2区久久
|