一針見血
隨筆 - 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.?大家好!(555)
評論排行榜
1.?[轉]Eclipse五歲了:Java程序員的Eclipse情結(14)
2.?大家好!(0)
午夜肉伦伦影院久久精品免费看国产一区二区三区
|
国内精品久久久久久久97牛牛
|
日韩精品久久无码中文字幕
|
色综合久久88色综合天天
|
久久久久久国产精品无码下载
|
久久天天躁狠狠躁夜夜96流白浆
|
久久综合综合久久狠狠狠97色88
|
色综合久久精品中文字幕首页
|
久久久久97国产精华液好用吗
|
久久精品久久久久观看99水蜜桃
|
久久AⅤ人妻少妇嫩草影院
|
77777亚洲午夜久久多喷
|
亚洲人成伊人成综合网久久久
|
日本精品久久久久影院日本
|
久久综合九色综合网站
|
99蜜桃臀久久久欧美精品网站
|
日本道色综合久久影院
|
人妻无码αv中文字幕久久琪琪布
|
久久无码一区二区三区少妇
|
久久伊人中文无码
|
成人久久精品一区二区三区
|
伊人久久大香线蕉AV一区二区
|
国内精品久久久久影院老司
|
精品久久久久久99人妻
|
亚洲天堂久久精品
|
欧美性大战久久久久久
|
日韩亚洲欧美久久久www综合网
|
久久久老熟女一区二区三区
|
久久香蕉超碰97国产精品
|
亚洲国产综合久久天堂
|
久久国产免费直播
|
久久伊人五月天论坛
|
久久久中文字幕日本
|
久久婷婷五月综合色99啪ak
|
久久久久成人精品无码
|
久久精品国产一区二区电影
|
久久AAAA片一区二区
|
无码任你躁久久久久久久
|
亚洲乱码日产精品a级毛片久久
|
久久丝袜精品中文字幕
|
久久国产AVJUST麻豆
|