英特尔应用程序调试器:测试Moblin应用程序的最佳工具

    喔,成为渥布刚湖的软件开发人员?在这个 Garrison Keeler 为他的小说《草原一家亲》而虚拟的明尼苏达小镇,“所有的女人都很强壮,所有的男人面容姣好,所有的孩子都具备出色的才智。”可以假定,渥布刚湖的软件开发人员发现他们的应用程序第一次编写正确,运行无误,不需要调试,也永远不需要优化。

    除非你住在渥布刚湖,你可能需要时不时地调试应用程序。大部分来自台式电脑或服务器领域的开发人员习惯于在目标平台上进行调试-也就是直接或通过网络使用 KVM 在台式电脑或服务器上进行调试。

然而,如果是要调试为基于 Moblin 技术的上网本或移动互联网设备开发( MID )的软件,情况就不同了。一方面,因为有了出色的英特尔原子处理器和可以直接使用 Linux 你的目标设备运行稳定而强大。另外一方面, MID 和上网本的屏幕较小,输入选项受限,而且可能没有安装开源GNU 软件开发工具集。

    不过幸运的是,我们不需要使用目标设备做为调试解决方案。我们可以使用软件工具,如用于英特尔原子处理器的英特尔应用程序调试器 2.x 下面,将简单称之为应用程序调试器) 这样就可以变得简单些。


应用程序调试器

    应用程序调试器是为英特尔原子处理器提供的英特尔应用程序软件开发工具套件的重要组成部分。在美国,599美元可购得全套软件(其它国家,价格可能略有变动),全套软件包括 Linux OS Intel C++ 编译器,应用程序调试器, Linux OS 的英特尔集成性能基元函数库和 Linux OS 的英特尔 VTune 性能分析器。这里,我们不打算讨论其它的工具,本文章的关注重点是调试器。

 

英特尔对应用程序调试器的说明:

    英特尔原子处理器的应用程序调试器支持调试的各个方面,从低级别驱动程序与内核调试到高级别语言 C++ 应用程序的调试,并具有全面的执行跟踪支持,帮助确认通常难以发现的错误。

应用程序调试器支持基于 Moblin 技术的应用程序在采用真实的英特尔原子处理器的设备上运行之前,在开发主机上的 KVM 环境里进行本地开发和测试。本地测试减少了测试时间,并简化了开发程序。这款全 GUI 驱动的应用程序调试器支持执行跟踪支持,从而可以回顾被执行程序的历史,具有 OS 感知和线程感知调试的能力。

   另外一个特点就是,调试器支持从你的开发主机 采用真实的英特尔原子处理器的目标平台(使用小型调试代理和 TCP/IP 通信)的交叉调试。同样的方法可以用于本地环回冒烟测试或真实的,基于机器的软件调试和测试。

对了,需要注意的是,正如我们随后会讨论的,执行跟踪支持要求核补丁(包含在工具套件分配里)。

    基于 Eclipse 的应用程序调试器具备特别的功能,对基于 Moblin 技术的项目很有帮助。它非常了解原子处理器的结构,包括 SSE3  指令集及执行流如何通过芯片。此外,它还非常了解 Linux   Moblin 技术,可以处理和显示所有相关的核信息,并且当你使用 Moblin 操作系统时, 调试你的应用程序。你可以告知调试器暂停执行OS 信号(如分段错误),然后使用执行跟踪找出错误是如何发生的,并找出深层次原因。

    系统要求不应该是问题。目标设备应该运行采用 Linux 2.6.x, Moblin 2.x, 或基于 Moblin-compliant 的操作系统的英特尔原子处理器。主机系统(如,开发工作站)可以是任何基于英特尔处理器的,运行 Ubuntu, Asianux  Fedora Linux 的工作站。

准备好,设置,调试应用调试器的一个很棒的特点就是,你可以坐在工作站前,调试运行在目标设备上的应用程序。要确定工作站和目标都在同一网络上。你需要在目标上安装一个小型的远程服务器应用程序(可在你的工作站上下载该应用程序, at /opt/intel/atom/idb/2.0.xxx/server ),当然,你要先安装工具套件,复制远程服务器应用程序到目标上,在开始调试过程之前,启用该应用程序。推荐您在以root身份运行时,启用远程服务器应用程序。

    你还需要准备好应用程序!这是个好主意,当你开始调试新的应用程序,使用调试信息编译,而无需进行优化时。一旦你对应用程序的运行满意,你可以稍微进行优化。使用指令行编译器转换 –g 以包含调试信息,使用 –O0 用于禁用优化。

然而,如果你需要调试已经被优化的代码,并需要跟踪仅仅在存在优化代码时出现的问题,你当然可以使用为此使用调试器材-只要你认识到指令重排,内联,和注册机里的变量传递可能对系统信息质量产生的影响。

    是的。你编译完了应用程序(并且安装到了目标上)。你也向目标复制了远程服务器应用程序(并以 root 身份运行)。现在,回到你的开发工作站,运行应用程序调试器。按下 Connect 按钮,提供你的目标设备的IP地址,应用程序调试器应该可以连接到目标上。现在,你准备好了-可以开始进行调试了。这里,使用调试器是一个直接,凭借直觉进行的行为。如需了解更多信息,参考应用程序调试器文件。

 

额外调试功能

    应用程序调试器是在 MID 或上网本上远程调试 Moblin 应用程序的最佳工具。它在你的工作站上运行,但是可以通过网络“装备”你的目标设备。它了解英特尔原子处理器结构的细节,并且表示 Linux 应用程序。不过,它的功能还不止于此。

除了 Moblin 应用程序, 应用程序调试器也能够“进入”共享库。确保你的目标系统上,可获得共享库的源。

想要进行芯片上执行跟踪?如果你对此感兴趣,你可以给目标设备的 Linux 核打补丁(参见调试器的安装指南),你就可以成功了。

    总而言之, 应用程序调试器具备诸多功能,而这就是我们在移动设备上安装应用程序时需要的。渥布刚湖那些智力超乎常人的人们正在等待新的 Moblin 应用程序,所以,我们开始工作吧

 

应用程序调试器资源:

工具套件资料

http://software.intel.com/en-us/articles/intel-application-tool-suite-documentation/

应用程序调试器安装指南

http://software.intel.com/sites/products/documentation/hpc/atom/application/install_idb.htm

应用程序调试器使用白皮书

http://software.intel.com/sites/products/documentation/hpc/atom/application/using_idb.pdf

工具套件白皮书

http://software.intel.com/sites/products/documentation/hpc/atom/application/tool_suites.pdf

工具套件 Mobli n 集成指南

http://software.intel.com/sites/products/documentation/hpc/atom/application/moblin_guide.pdf

 * 文中涉及的其它名称及商标属于各自所有者资产。 Moblinzone 由英特尔公司提供资金。

--------------------------------------------------------------------------------

Alan Zeichick Camden Associates 的主要分析师。他向企业就技术挑战提出建议,撰写技术性文章,并且在行业活动上就企业 IT ,网络化,安全,软件工程和消费者电子等问题发表演讲。同时,作为 BZ Media 的  SD Times 的编辑部主任, Zeichick 推动了针对软件开发管理人员的行业报纸的发展。 

曾经是主框架开发人员和系统分析师的Zeichick 1984 年成为了一名技术分析师和撰稿人。他是三千多篇文章的作者,与咨询团队合作,包括 PricewaterhouseCoopers, IDC Anderson Consulting,  并且在诸多活动上,如 COMDEX, Networld+Interop, Microsoft TechEd, JavaOne  和软件开发会议( Software Development Conference )上发表了演讲。

登陆ztrek.blogspot.com 浏览他的博客,或登陆 twitter.com/zeichick

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值