`
yesjavame
  • 浏览: 687191 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Symbian学习笔记(1):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
REcmtiEcmt;
#endif

C) 然后在cpp中加上一个初始化与销毁。
voidCDemoUIAppView::ConstructL(constTRect&aRect)
...{
CreateWindowL();

......

#ifdef_DEBUG
iEcmt.Connect();
#endif

}


CDemoUIAppView::
~CDemoUIAppView()
...{
......
#ifdef_DEBUG
iEcmt.Close();
#endif

}

D) 然后就是在需要输出的地方这样一下:
voidCDemoUIAppView::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呢还是因为我同时弄了两个代理在手机里照成的冲突,如果你在使用过程中发现不顺了,不妨也重启一下手机吧。


分享到:
评论

相关推荐

    Multimedia on Symbian OS: Inside the Convergence Device

    Multimedia on Symbian OS: Inside the Convergence Device Paperback: 276 pages Publisher: Wiley (December 10, 2008) Language: English ISBN-10: 0470695072 ISBN-13: 978-0470695074 Format: PDF You can buy...

    Symbian学习笔记

    1. **Debug On Device**: 在设备上进行调试是开发过程中的重要步骤。Symbian提供了远程调试工具,允许开发者在真实设备上而非模拟器上测试代码,以便更好地理解性能和兼容性问题。 2. **基本概念**: 这部分可能...

    symbian学习笔记,全28讲

    【Symbian学习笔记概述】 Symbian操作系统是一款曾经广泛应用于智能手机的操作系统,尤其在诺基亚手机上占据主导地位。对于想要学习Symbian开发的初学者来说,理解其开发环境的搭建至关重要。本系列笔记共28讲,...

    symbian学习笔记(超级经典-适用于初学者)

    本学习笔记旨在为初学者提供全面、细致的Symbian操作系统知识,帮助你快速入门并深入理解其工作原理。 一、Symbian系统概述 Symbian操作系统最初由英国的EPOC公司开发,后被诺基亚收购并成为其主要的操作系统平台。...

    Symbian学习笔记(中国移动开发者社区).pdf

    1. **安装 Symbian SDK**: 下载并安装官方提供的 Symbian SDK,确保安装过程中选择包含所有必要组件的完整版本。 2. **设置 Carbide.c++**: 安装 Carbide.c++ 并配置其指向 Symbian SDK 的路径,以便 IDE 能够识别 ...

    symbian 学习笔记

    **Symbian操作系统详解** Symbian是一款历史悠久的智能手机操作系统,尤其在2000年至2010年间,它是全球领先的移动设备...通过深入学习和实践,开发者可以从Symbian中学到很多关于移动平台优化和资源管理的宝贵经验。

    Games On symbian OS 源码

    总结,"Games On Symbian OS"源码资料集提供了一次宝贵的深入学习移动游戏开发的机会,无论你是Symbian OS的老用户还是希望拓宽技能的现代开发者,都能从中受益。通过解析和实践,你将能够构建出在任何平台上都具有...

    Quick Recipes on Symbian OS: Mastering C++ Smartphone Development

    Quick Recipes on Symbian OS: Mastering C++ Smartphone Development Paperback: 382 pages Publisher: Wiley (August 25, 2008) Language: English ISBN-10: 0470997834 ISBN-13: 978-0470997833 Format: PDF You...

    Java ME on Symbian

    《Java ME on Symbian》是一本专注于在Symbian操作系统上使用Java ME进行移动应用开发的专业指南。Java ME(Micro Edition)是Java平台的一个版本,设计用于资源有限的设备,如早期的智能手机和平板电脑。Symbian...

    Symbian塞班操作系统

    ### Symbian塞班操作系统深度解析 #### Symbian简介:智能移动终端的先驱者 Symbian操作系统,源自英国宝意昂公司(Psion)的EPOC操作系统,其设计理念强调“使用电子产品如同品尝乳酪般简单”。EPOC的命名灵感...

    symbian_log.rar_ symbian_log_Symbian l_Symbian log

    例如,`RLog::Logv()` 和 `RLog::Debug()` 分别用于格式化输出和调试级别的日志信息。 3. **日志缓冲区:** Symbian的日志系统包含一个固定大小的缓冲区,用于存储日志条目。当缓冲区满时,旧的日志条目会被新的...

    Java ME on Symbian OS Inside the Smartphone Model

    通过对本书的学习,读者不仅可以了解到 Java ME 和 Symbian OS 的基础知识,还能掌握在智能型手机上开发 Java 应用的技巧。尽管随着技术的发展,Symbian OS 已经退出历史舞台,但本书对于理解早期移动平台的运作机制...

    JAVA 五年的工作经验和学习笔记

    由于本人目前允许上传的资源太小,所以无法上传整个的技术学习笔记(JAVA 五年的工作经验和学习笔记),待以后有机会会分享给大家。 技术体系包括: J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)...

    真正的Symbian笔记.docx

    以上知识点构成了Symbian笔记的主要内容,通过学习这份笔记,开发者不仅可以理解Symbian操作系统的运作原理,还能掌握实际开发中的技巧和最佳实践。虽然Symbian系统现在已不流行,但其设计理念和许多技术仍对现代...

    转:webkit开发学习笔记(全面)_第一版

    **WebKit 开发学习笔记概述** WebKit 是一个开源的网页内容渲染引擎,被广泛应用于各种浏览器,包括谷歌的 Chrome、苹果的 Safari、以及许多其他双核浏览器。WebKit 的诞生源自苹果公司在其 Mac OS X 操作系统中对 ...

    QuickRecipes.On.Symbian.2008

    【标题】"QuickRecipes.On.Symbian.2008" 指的是一款专为Symbian操作系统设计的应用程序,可能是一个集成了快速食谱和烹饪指南的软件。Symbian是诺基亚公司在2000年代至2010年代初期广泛使用的手机操作系统,尤其在...

Global site tag (gtag.js) - Google Analytics