【eNews消息】在Series 60 SDk中可以使用两个版本的模拟器可执行文件:一个版本包含符号调试信息,另一个是发布版本。发布版模拟器限制为只能评估或演示应用程序--它启动得很快,因为它不带有调试信息。
两个版本都叫做epoc.exe,但是它们位于自己的子目录中。
Epoc这个名字是历史遗留的--它是Symbian OS以前的操作系统的名称。
在正常的开发活动中,经常使用模拟器的调试形式。根据你选择的IDE,你可以正常地使用调试版本或在"调试模式"中使用调试版本。能够在两种模式下运行同一个"调试模拟器"起初看起来有点混乱。
有时候你可能希望启动模拟器,定位应用程序并运行它,而这仅仅是为了测试的目的。假如出现了严重的错误,模拟器和应用程序将以受到约束的方式关闭。
还有些时候你可能希望在自己认为存在问题的非凡地方(代码中)设置断点(breakpoint),接着让IDE在"调试模式"下运行模拟器。接着你定位应用程序并运行它。与应用程序适当地交互操作将会碰到代码中的断点。在断点上,源代码将显示在IDE中,并且同时显示与应用程序相关的所有符号调试信息。接着你可以在受控制的情形下,使用IDE的调试特性一步一步地调试代码片断。你可以查看IDE显示的应用程序源代码、数据、调用堆栈和其它与调试相关的信息,帮助自己跟踪到代码或逻辑中的错误。
模拟器可执行文件位置
Series 60 1.2 SDK发布版模拟器典型情况下位于下面的位置:
对于Visual C++
\Symbian\6.1\Series60\Epoc32\Release\wins\urel\epoc.exe
对于Borland C++
\Symbian\6.1\Series60\Epoc32\Release\winsb\urel\epoc.exe
对于CodeWarrior
\Symbian\6.1\Series60\Epoc32\Release\winscw\urel\epoc.exe
调试版模拟器典型情况下位于:
对于Visual C++
\Symbian\6.1\Series60\Epoc32\Release\wins\udeb\epoc.exe
对于Borland C++
\Symbian\6.1\Series60\Epoc32\Release\winsb\udeb\epoc.exe
对于CodeWarrior
\Symbian\6.1\Series60\Epoc32\Release\winscw\udeb\epoc.exe
精确的路径依靠于你在安装SDK的时候选择的选项。在Series 60 2.x SDK中模拟器的路径将非常类似--例如\Symbian\Series602_0\Epoc32\release\wins\udeb\epoc.exe。
图1-3显示了Series 60 1.2模拟器。它启动时显示应用程序主菜单为表格视图或列表视图。
Series 60 2.0模拟器启动的外形类似电话应用程序,你必须通过按下图1-3所示的应用程序按钮导航到应用程序菜单。无论使用哪种版本的Series 60平台,一般把模拟器可执行文件的调试(udeb)版本作为开发项目的默认选项--例如\Epoc32\Release\wins\udeb\epoc.exe。
模拟器调试模式
在模拟器的调试模式下运行应用程序的时候,源代码、函数调用堆栈、变量信息等在碰到代码断点的时候会立即显示出来,如图1-4所示。假如应用程序代码没有处在需要用户输入的位置,模拟器窗口本身可能消失了(它被最小化了)。
命令提示符运行模拟器
假如需要从命令行运行调试模拟器,只需要打开命令提示符,把当前路径改变到epoc.exe应用程序所在的Series 60 SDK文件夹(例如\Symbian\6.1\Series60\Epoc32\Release\wins\udeb)并输入下面的内容:
epoc
上面的命令将启动调试模拟器,接着你可以定位并运行自己的应用程序了,但是它并非处于调试模式之中。要使被调试的应用程序运行在模拟器的调试模式之下只能从IDE内部完成。假如要运行发布版模拟器,需要输入:
epoc -rel
在Visual C++ IDE中运行模拟器
在Visual C++ IDE中你按下Ctrl+F5或从菜单中选择BuildExecute Epoc.exe就可以启动模拟器的调试版本。这样将使模拟器处于非调试模式。作为代替,按下F5或从菜单中选择BuildStart DebugGo将使模拟器处于调试模式。
当你第一次运行某个Visual C++项目的模拟器的时候,会出现一个对话框向你询问可执行文件的名称。请导航到SDK的根目录的\Epoc32\Release\wins\udeb文件夹的epoc.exe文件。
在Borland C++Builder 6和C++BuilderX IDE中运行模拟器
你可以使用ToolsMobile Build Tools菜单选项,选择Run Emulator来启动模拟器的调试版本。或者使用RunRun菜单选项(F9),但是它会引起项目每次都重新建立--而这花费的时间可能很长。使用这个选项的时候,你可能需要在模拟器启动之前终止建立对话框("Compiling")。
假如你在C++BuilderX中运行模拟器,使用RunDebug PRoject菜单选项或按下Shift+F9。假如你希望重新建立项目并启动模拟器,选择RunRun Project或按下F9。
在CodeWarrior IDE中运行模拟器
选择ProjectRun菜单选项或按下Ctrl+F5运行模拟器。按下F5或使用ProjectDebug菜单选项使模拟器运行在调试模式。
更多内容请看C/C++技术学堂 C/C++技术专题 C/C++相关文章专题,或定位和运行应用程序
通过点击模拟器的招牌位图上的光标键的图片,或者使用PC键盘光标(箭头)键导航并选择HelloWorld应用程序。点击"Selection"按钮(在光标控制键的中间)启动应用程序。
注重
没有特定图标的应用程序(在.aif文件中指定)将会被赋予一个默认的图标,它看起来像一片锯齿状拼盘。
在某些SDK/IDE(例如Borland和CodeWarrior的一些版本)中,你建立的应用程序可能位于"Other"文件夹下,而不在主桌面上。假如出现这种情况,请导航并选择Other文件夹,接着通过点击"Selection"按钮打开它。导航并选择HelloWorld应用程序并点击"Selection"按钮调用该应用程序。
图1-5."HelloWorld"应用程序
调试应用程序
作为代替,你可以在IDE中使模拟器上运行的应用程序处于调试模式--这个过程验证依靠于使用的IDE。典型情况下,你需要首先在源代码的适当位置设置断点。
启动处于调试模式的模拟器。由于要调试的是应用程序(本质上是动态链接库DLL),而不是模拟器本身,你需要导航并运行应用程序。该应用程序将会启动,碰到你设置的断点的时候执行会停止。接着你可以使用自己选择的IDE工具逐步执行应用程序的源代码。
更多的IDE帮助
本文没有不同IDE功能的更多介绍,因此假如你要查询更多的IDE帮助信息,可以通过Help菜单选项进行。
对于微软Visual C++,你可以选择HelpContents菜单选项,它在与IDE一起安装的MSDN中提供。
对于Borland C++Builder 6,你可以使用Help菜单选项。你会发现除了标准的Borland帮助文件之外还有一个独立的HelpBorland C++ Mobile Edition Help页面。对于C++BuilderX,你可以选择HelpHelp Topics,然后选择Mobile Development。
对于Metrowerks CodeWarrior,有一个HelpOnline Manuals菜单选项,它包含了使用Symbian OS时大量的有价值的信息。
还有更多的特定IDE信息可以在线获得--例如到http://msdn.microsoft.com/链接查找Visual C++信息,到http://bdn.borland.com/链接查找Borland C++信息,到http://www.metro-werks.com/MW/Develop/Wireless/链接查找CodeWarrior信息。
更多内容请看C/C++技术学堂 C/C++技术专题 C/C++相关文章专题,或