一針見血
隨筆 - 2, 文章 - 73, 評論 - 60, 引用 - 0
數(shù)據(jù)加載中……
[S60]Symbian學(xué)習(xí)筆記:Debug On Device[轉(zhuǎn)]
在BREW的開發(fā)環(huán)境中,沒有一個聯(lián)機調(diào)試工具,一直是我覺得相當(dāng)不方便的事情。在S60平臺上做開發(fā),至少這一點是能滿足我們的需要。
第一種方法:Carbide C++ v1.2 的 Debug On Device
Carbide C++1.2的pro.以上版本都支持設(shè)備調(diào)試,實在是一件大快人心的事。
要實現(xiàn)這個功能,也是相當(dāng)?shù)姆奖悖?dāng)然前提是你用的是Carbide C++ v1.2的Pro.以上版本。
按正常模式寫程序,在模擬器上都弄的差不多了,想放到設(shè)備中調(diào)試的話,只需要做下面幾步:
1、先在設(shè)備中安裝一個軟件,安裝包在carbide的安裝目錄下,我機器上的位置是C:\Nokia\Carbide.c++ v1.2\plugins\com.nokia.carbide.trk.support_1.2.0.29\trk\s60,下面有兩個 sis文件,因為我要在N73上調(diào)試,所以我選擇其中的s60_3_0_app_trk_2_7.sisx這個,另一個3_1是用于3rd.FP1手機的。安裝后在手機里就有一個TRK應(yīng)用了。
2、安裝成功后,在手機上啟動這個服務(wù)TRK,因為我是用的USB線,所以點選項,改成USB,端口是1(這里比較奇怪,明明我的端口應(yīng)該是COM6)。啟動后窗口顯示:Status:Connected.
3、在Carbide C++中,配置一下編譯輸出目標為Phone Debug(GCCE),這個很重要,只有DEBUG才行。編譯出SISX文件。
4、打開DEBUG窗口(即debug...),在配置中的第一項“Symbian OS App Trk“下建立一個新項。幾個窗口的輸入如下圖所示:
5、點Apply,然后Debug,就可以啟動調(diào)試。余下的事情與在模擬器中調(diào)試就一樣了,沒啥好說了。
第二種方法:利用S60 SDK自帶的Ecmt工具進行DEBUG
如果我們用的是Carbide C++ 的Express版(免費版本)的話,我們沒辦法做設(shè)備聯(lián)機調(diào)試,但是可以用SDK中的工具在程序中將調(diào)試信息打印到控制臺上。在BREW平臺上主要就是依靠這種方式。
Symbian提供了一個REmct可以用于遠程調(diào)試,并且它還提供了兩個配套工具:手機端的ecmtagent_cpp.sis和PC端的Device Connection。
這種方式比前一種要稍復(fù)雜一點了,因為涉及到代碼的修改。
1、首先同樣是在手機上安裝一個軟件ecmtagent_cpp.sis(不過3rd.的SDK下這個東西不能用,說簽名過期之類的錯誤,只能安裝3rd. FP1的SDK下的那個同名sis,唉,也不知道Nokia是咋回事)。
2、同樣在調(diào)試前也是要啟動手機上的ecmtagent代理,設(shè)置成USB連接(不需要選擇端口了)。然后看到窗口上顯示listening。
3、在PC上啟動那個Device Connection,選擇COM6去connect它,狀態(tài)成為connected。這時發(fā)現(xiàn)手機上也顯示connected。表明連接成功了。在Device Connection中打開那個Diagnostics工具,所有的調(diào)試信息的就是輸出到它的窗口里。
4、最麻煩的是需要修改代碼。
A) 修改mmp,加上這個lib。即:
LIBRARY EcmtClient.lib
B) 在要輸出調(diào)試信息的那個類的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,自己手工安裝到手機里,執(zhí)行它就可以了。要注意的一點是,因為此時前面的那個ecmtagent正在運行,需要將它切到后臺去(不是關(guān)閉啊!!!)。在Diagnostics的窗口中就會看到輸出的調(diào)試信息了。
最后要補充一點的是,我在嘗試這兩種調(diào)試方法的時候,經(jīng)常遇到打開端口失敗或者連接失敗的情況,一般重啟一下手機就正常了,不知道是BUG呢還是因為我同時弄了兩個代理在手機里照成的沖突,如果你在使用過程中發(fā)現(xiàn)不順了,不妨也重啟一下手機吧。
posted on 2008-04-26 14:55
郭天文
閱讀(1028)
評論(0)
編輯
收藏
引用
所屬分類:
S60
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
[S60] S60中Socket Api的調(diào)用方法[轉(zhuǎn)載]
[S60]ARM平臺獨有問題 Writable Static Data in DLLs
[S60]Symbian學(xué)習(xí)筆記:Debug On Device[轉(zhuǎn)]
[S60]模擬器配置訪問網(wǎng)絡(luò)
[S60]symbian基本類型轉(zhuǎn)換
[s60]如何進行Express Signed的簽名
[S60]Symbian 應(yīng)用軟件開發(fā)、測試與 S60 平臺安全常見問題問答
手機開發(fā)平臺指南、教程和資料介紹[轉(zhuǎn)載]
[S60]在程序的導(dǎo)航條中插入文本或圖片
音頻編解碼標準
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 郭天文
導(dǎo)航
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
<
2025年5月
>
日
一
二
三
四
五
六
27
28
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
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(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: 回車和換行的區(qū)別
抄過來的都不知道改改SB
--樂超
2.?re: CListCtrl::SortItems方法
11111111111111
--月下美人
3.?re: [Windows Mobile]開發(fā)書籍介紹
評論內(nèi)容較長,點擊標題查看
--buy resumes
4.?re: [Windows Mobile]開發(fā)書籍介紹
評論內(nèi)容較長,點擊標題查看
--here
5.?re: [Windows Mobile]開發(fā)書籍介紹
評論內(nèi)容較長,點擊標題查看
--check this link
閱讀排行榜
1.?[轉(zhuǎn)]Eclipse五歲了:Java程序員的Eclipse情結(jié)(2796)
2.?大家好!(550)
評論排行榜
1.?[轉(zhuǎn)]Eclipse五歲了:Java程序員的Eclipse情結(jié)(14)
2.?大家好!(0)
久久精品国产精品亚洲精品
|
国产精品久久久久国产A级
|
国产叼嘿久久精品久久
|
久久精品国产亚洲一区二区三区
|
久久亚洲国产精品123区
|
77777亚洲午夜久久多喷
|
高清免费久久午夜精品
|
亚洲国产成人久久综合碰
|
午夜欧美精品久久久久久久
|
久久久精品一区二区三区
|
久久久午夜精品福利内容
|
91精品国产高清久久久久久io
|
久久精品一区二区
|
综合久久国产九一剧情麻豆
|
久久久久99精品成人片欧美
|
久久综合88熟人妻
|
国产精品久久久久久久午夜片
|
亚洲精品美女久久久久99
|
久久最新精品国产
|
久久伊人五月丁香狠狠色
|
99久久国产主播综合精品
|
天堂久久天堂AV色综合
|
久久天天躁狠狠躁夜夜av浪潮
|
久久久无码精品亚洲日韩蜜臀浪潮
|
久久精品成人欧美大片
|
国产精品亚洲综合专区片高清久久久
|
国产 亚洲 欧美 另类 久久
|
亚洲国产精品无码久久
|
久久人人爽人人爽人人片av麻烦
|
久久99国产精一区二区三区
|
日产精品99久久久久久
|
国产aⅴ激情无码久久
|
精品国产乱码久久久久软件
|
国内精品久久久久久久久
|
久久午夜无码鲁丝片
|
久久精品中文无码资源站
|
色偷偷88欧美精品久久久
|
久久精品综合一区二区三区
|
99久久精品日本一区二区免费
|
色婷婷综合久久久久中文一区二区
|
性高朝久久久久久久久久
|