在Series 60 SDk中可以使用两个版本的模拟器可执行文件:一个版本包含符号调试信息,另一个是发布版本。发布版模拟器限制为只能评估或演示应用程序--它启动得很快,因为它不带有调试信息。

  两个版本都叫做epoc.exe,但是它们位于自己的子目录中。Epoc这个名字是历史遗留的--它是Symbian OS以前的操作系统的名称。

  在正常的开发活动中,经常使用模拟器的调试形式。根据你选择的IDE,你可以正常地使用调试版本或在"调试模式"中使用调试版本。能够在两种模式下运行同一个"调试模拟器"起初看起来有点混乱。

  有时候你可能希望启动模拟器,定位应用程序并运行它,而这仅仅是为了测试的目的。如果出现了严重的错误,模拟器和应用程序将以受到约束的方式关闭。

  还有些时候你可能希望在自己认为存在问题的特殊地方(代码中)设置断点(breakpoint),接着让IDE在"调试模式"下运行模拟器。接着你定位应用程序并运行它。与应用程序适当地交互操作将会遇到代码中的断点。在断点上,源代码将显示在IDE中,并且同时显示与应用程序相关的所有符号调试信息。接着你可以在受控制的情形下,使用IDE的调试特性一步一步地调试代码片断。你可以查看IDE显示的应用程序源代码、数据、调用堆栈和其它与调试相关的信息,帮助自己跟踪到代码或逻辑中的错误。



图1-3. Series 60平台1.2调试模拟器的应用程序表格和列表视图



图1-4.微软Visual C++ IDE下处于调试模式的HelloWorld应用程序

模拟器可执行文件位置

  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或从菜单中选择Build|Execute Epoc.exe就可以启动模拟器的调试版本。这样将使模拟器处于非调试模式。作为代替,按下F5或从菜单中选择Build|Start Debug|Go将使模拟器处于调试模式。

  当你第一次运行某个Visual C++项目的模拟器的时候,会出现一个对话框向你询问可执行文件的名称。请导航到SDK的根目录的/Epoc32/Release/wins/udeb文件夹的epoc.exe文件。

  在Borland C++Builder 6和C++BuilderX IDE中运行模拟器

  你可以使用Tools|Mobile Build Tools菜单选项,选择Run Emulator来启动模拟器的调试版本。或者使用Run|Run菜单选项(F9),但是它会引起项目每次都重新建立--而这花费的时间可能很长。使用这个选项的时候,你可能需要在模拟器启动之前终止建立对话框("Compiling")。

  如果你在C++BuilderX中运行模拟器,使用Run|Debug Project菜单选项或按下Shift+F9。如果你希望重新建立项目并启动模拟器,选择Run|Run Project或按下F9。

  在CodeWarrior IDE中运行模拟器

  选择Project|Run菜单选项或按下Ctrl+F5运行模拟器。按下F5或使用Project|Debug菜单选项使模拟器运行在调试模式。
  定位和运行应用程序

  通过点击模拟器的招牌位图上的光标键的图片,或者使用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++,你可以选择Help|Contents菜单选项,它在与IDE一起安装的MSDN中提供。

  对于Borland C++Builder 6,你可以使用Help菜单选项。你会发现除了标准的Borland帮助文件之外还有一个独立的Help|Borland C++ Mobile Edition Help页面。对于C++BuilderX,你可以选择Help|Help Topics,然后选择Mobile Development。

  对于Metrowerks CodeWarrior,有一个Help|Online Manuals菜单选项,它包含了使用Symbian OS时大量的有价值的信息。