Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213992
  • 博文数量: 58
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-25 17:18
文章存档

2009年(30)

2008年(28)

我的朋友

分类: WINDOWS

2009-01-08 15:43:53

Attach Device时进入模拟器就黑屏,各种选项误设置的原因和一次意外的断点设置。

PB菜单“Platform”-“Settings”中常见的编译选项。
  Enable CE Target Control Support: 支持对实际平台的控制。可以执行 CESH 命令。
  Enable Event Tracking During Boot:在引导过程中支持事件跟踪。
  Enable Full Kernel Mode: 支持全内核模式。全内核模式参见配置文件。
  Enable Kernel Debugger: 允许调试内核。
  Enable KITL: KITL(内核独立传输层)用于在开发平台和实际平台之间相互通信。
  Enable Profiling: 能够评测内核的性能。评测内核性能的工具在以前讲过。

Debug/Release版本:
  Build Options中:
  未选Enable CE Target Control Support
  未选Enable Kernel Debugger
  选中Enable KITL
  Target->Run programs/Target Control都变灰,没法调试应用程序及核心(断点失效,应用程序没法调用)
  Connectivity Options->Debugger中的 KdStub选或不选,都可以跑模拟器
  
  Build Options中:
  选上Enable CE Target Control Support
  未选Enable Kernel Debugger
  选上Enable KITL后
  模拟器可以跑,而且Target->Run programs/Target Control都可以用,
  没法调试应用程序及核心(断点失效,但应用程序可以调用)
  Connectivity Options->Debugger中的 KdStub选或不选,都可以跑模拟器
  
  Build Options中:
  选上Enable CE Target Control Support
  选上Enable Kernel Debugger
  选上Enable KITL后
  Target->Run programs/Target Control都可以用,
  可以调试应用程序及核心(断点处停下)
  Connectivity Options->Debugger中的 KdStub必须选上,才能跑模拟器。
  不选KdStub的话显示如下信息,模拟器黑屏停滞!
   Warning:  Debugger service map is set to none.  If your image has debugging support it may not boot properly.
   Cannot access selected Device from service host.
   The Kernel Debugger is waiting to connect with target.
   Debugger could not initialize connection.
   The Kernel Debugger has been disconnected successfully.

注:Target Control就是左边的调试窗口,带有提示符“Win CE>”。

小结:
选上Enable CE Target Control Support后,菜单Target->Run programs/Target Control都可以用,没法调试应用程序及核心(断点失效,应用程序仅可被调用);
选上了Enable Kernel Debugger后,必须同时在Connectivity Options->选上 Debugger中的 KdStub! 可以调试应用程序及核心(断点处停下)。

意外:某次如上设置都正确,进入模拟器黑屏,原因是不知何时设置了一个比较底层的断点(去掉断点就OK了)。

阅读(824) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~