当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 模拟器运行后,就可以调试程序了。使用Evc调试和VC++很类似。可以设置断点,点击调试后就在工具栏中出现调试按钮,可以进行单步调试,查看线程和模块信息,以及捕获异常。

 模拟器运行后,就可以调试程序了。使用Evc调试和VC++很类似。可以设置断点,点击调试后就在工具栏中出现调试按钮,可以进行单步调试,查看线程和模块信息,以及捕获异常。

PB中启动模拟器后,可以使用Kerneldebugger查看系统内部信息。使用target control窗口进行内核调试。这是一个命令行模式的shell:

Welcome to the Windows CE Shell. Type ? for help.

Windows CE>

通过?命令可以查看支持的命令选项。可以查看系统进程和线程信息,内存信息,可以启动新的进程和关闭之。还可以挂起设备等。也可以在鼠标右键的弹出菜单中选择相应的项,通过特定窗口察看,比命令方便一些。在输出窗口中会显示每一个程序运行时加载的DLL库。

具体的调试情况需要在实践中不断摸索。下面我就介绍一下evc和pb中均提供的十大远程调试工具。

1.Remote File Viewer

远程文件浏览器。

这个工具类似于Windows Explorer,可以显示WinCE目标设备上的目录层次和文件。通过这个工具,可以在主机和目标机之间互传文件,也可以删除目标设备上的文件。使用这个工具,方便了程序的下载和调试。

2.Remote Process Viewer

远程进程查看工具

这 个工具可以查看WinCE上所有运行的进程以及它的现成的信息。包括进程的名称,PID,进程基本优先级,进程的线程数,进程基地址和访问键值,窗口名 称;线程ID,线程的当前进程ID(因为有的线程需要其它的进程来加载模块),线程优先级,线程访问键值;模块名称和ID,模块的进程使用计数,全局使用 计数,基地址和大小,模块的句柄和路径名称等。

在这个工具中可以看到,每个进程的地址空间是32MB,核心进程NK.exe从4000 000开始,所以系统将第0和1两个槽来加载当前进程。在WinCE4.0以前只有第0个槽。现在的第1个槽用于当前进程使用的DLL,并且保证不和其它进程使用的DLL发生冲突。

3.Remote Zoomin

这个工具可以抓取目标设备的屏幕图像,可以保存为位图文件或到剪切板上。

4.Remote Registy Editor

远程注册表编辑器

这个工具可以显示主机和目标机的注册表,可以编辑注册表或导出注册表。对于查看目标设备的驱动程序配置信息很有用。网上也有下载WinCE下的注册表编辑器。

5.Remote Heap Walker

远程堆查看器

这个工具可以列出目标机上所有运行的进程和他们的堆的使用情况。每个进程开始时,系统只提供192KB的堆,且不立刻提供物理内存。程序可以申请更大的堆。WinCE分配的堆是不能移动的,所以要频繁的分配和释放内存,最好自己预先分配一个大堆,用完后释放。

这个工具显示每个进程分配的堆ID,堆的块地址和大小以及堆的创建标志。HF32_DEFAULT表示是系统默认创建的堆。块的标志有fixed和free两种。前者表示不能释放,后者表示可以释放,这是给内存管理单元看的 。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

助力顶级特效公司Wētā FX构建云上工作室,支持《阿凡达:水之道》高达33亿渲染线程小时的云上制作任务 北京2022年12月19日 /美通社/ -- 近期,时隔十三年重返大荧幕的阿凡达系列电影《阿凡达:水之道》在全球...

关键字: 亚马逊 线程 云计算 数字化

摩尔线程专注于研发设计全功能GPU芯片及相关产品,支持3D高速图形渲染、AI训练推理加速、超高清视频编解码和高性能科学计算等多种组合工作负载,能够为中国科技生态合作伙伴提供计算加速能力。

关键字: 摩尔 线程 GPU

作为丹纳赫生命科学平台旗下的重要运营公司,Pall颇尔公司将进一步加大在华投资,导入更高芯片线程的产线及技术,强化对国内客户的供应链稳定性。Pall颇尔中国已落实1100万美元的产能扩建投资,以进一步拓建北京工厂的半导体...

关键字: 半导体 供应链 微电子 线程

(全球TMT2021年12月16日讯)摩尔线程与浪潮在京签署元脑战略合作协议。摩尔线程与浪潮将发挥各自在技术、生态和产业等方面的领先优势,基于创新算力芯片和元脑生态平台展开多维和深度合作,联手开发领先的人工智能行业解决...

关键字: 线程

目录Java线程与OS线程的区别与关联JNI的作用JNIEnv和JavaVM是啥JNI中数据是如何传递的Java线程与Native(OS)线程的区别联系:Java线程其实是一层OS线程的封装,本质上就是OS线程。【以前版...

关键字: Android NI 线程 LOADER

线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题。

关键字: 线程 进程 JAVA

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

关键字: 线程 进程 控制流

摘要:介绍了地基沉降远程数据采集系统服务器端软件的设计与实现方法。该软件能够并发处理多个远程客户端传送过来的数据,并将数据保存到数据库中,同时采用B/S架构对采集的数据进行管理和分析,从而实现对地基沉降远程采集数据的实时...

关键字: 地基沉降 远程数据采集 软件系统 线程

昨天我们用IntelI9的10核,每个核2个threads的机器跑了内核的编译:超线程SMT究竟可以快多少?今天,我换一台机器,采用AMDRyzen。 默认情况16核,每个核2个threads,共32个CPUs:下面编译...

关键字: zen 线程 SMT

众所周知,STL容器不是线程安全的。对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了coredump。另外一...

关键字: 线程 ST
关闭
关闭