一針見血
隨筆 - 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)
色欲av伊人久久大香线蕉影院
|
欧美日韩成人精品久久久免费看
|
亚洲欧美另类日本久久国产真实乱对白
|
久久精品一区二区国产
|
伊人久久综在合线亚洲2019
|
久久99精品免费一区二区
|
亚洲国产日韩欧美综合久久
|
亚洲午夜久久久影院
|
亚洲国产精品久久久久网站
|
久久国产亚洲精品
|
久久99精品国产自在现线小黄鸭
|
大美女久久久久久j久久
|
中文字幕热久久久久久久
|
综合人妻久久一区二区精品
|
91精品国产色综久久
|
亚洲?V乱码久久精品蜜桃
|
99久久成人国产精品免费
|
久久亚洲精品无码AV红樱桃
|
国产福利电影一区二区三区,免费久久久久久久精
|
久久久噜噜噜久久中文字幕色伊伊
|
久久99精品久久久久久久不卡
|
久久婷婷五月综合97色直播
|
av无码久久久久久不卡网站
|
2020久久精品亚洲热综合一本
|
色综合久久夜色精品国产
|
久久精品国产精品国产精品污
|
久久成人国产精品免费软件
|
久久亚洲av无码精品浪潮
|
久久亚洲国产午夜精品理论片
|
三级三级久久三级久久
|
亚洲狠狠婷婷综合久久蜜芽
|
伊色综合久久之综合久久
|
国产精品99久久精品爆乳
|
久久精品国产精品亚洲毛片
|
亚洲狠狠婷婷综合久久蜜芽
|
久久综合视频网
|
伊人久久大香线蕉综合热线
|
亚洲精品无码专区久久同性男
|
女人高潮久久久叫人喷水
|
久久亚洲中文字幕精品一区
|
久久久WWW成人免费精品
|