《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之91——BREW debuger的使用

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6045569

BREW Debugger 是一个纯软件工具,不需要额外的硬件支持,通过串口或者USB端口与手机连接,可以自由地使用cygwin里面的工具。BREW Debugger需要ADS/GCC的编译库,ARM/Thumb模式的库,Debugger的绑定程序等等。

通过GNU/ADS 交叉编译器,开发者可以使用gdb 的命令行或者Insight软件的图像界面进行调试。BREW Debugger 支持所有的gdb 命令,支持源代码和汇编语言的调试,能够设定断点,检验寄存器,变量和内存,单步跟踪等的。BREW Debugger的体系结构如图16-4所示。

 

16-4BREW Debugger的体系结构

 

InsightRedhatGNUPro研发套件之一, gdbTk包装(版本号和gdb版本号完全一致),可以认为是基于GDB的前端工具。使用Insight中进行在线调试的页面如图16-5所示。

 

16-5使用Insight中进行在线调试的页面

 

GDBGNU开源组织发布的一个强大的UNIX下的程序调试工具。GDB这个调试工具有比VCBCB的图形化调试器更强大的功能。一般来说,GDB主要完成下面四个方面的功能:

  1、启动程序,可以按照自定义的要求随心所欲的运行程序。

  2、可让被调试的程序在所指定的调置的断点处停住。(断点可以是条件表达式)

  3、当程序被停住时,可以检查此时程序中所发生的事。

4、动态的改变程序的执行环境。

使用GDB中的命令行调试BREW应用的界面如图16-6所示。

 

 

16-6使用GDB进行在线调试的页面

 

遗憾的是,使用BREW Debugger同样依赖于OEM层的支持,手机厂商需要通过移植工具包做相应的修改,并且只有BREW 3.x以上的版本才能支持。

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
4月前
|
开发框架 定位技术 API
AgentScope 与 MCP:实践、思考与展望
AgentScope 作为一款功能强大的开源多智能体开发框架,为开发者提供了智能体构建、工具使用、多智能体编排等全方位支持。
581 37
|
1月前
|
缓存 Cloud Native Java
性能优化与架构能力复盘报告
本复盘总结了在性能优化、架构设计及云原生方面的实践经验,涵盖性能分析、全链路压测、缓存策略、微服务治理等内容,展示了从系统性能提升到成本控制的综合能力,并规划了未来在JVM优化、ServiceMesh及APM平台建设等方面的能力提升路径。
50 3
|
程序员 Python
从零到一,彻底掌握Python闭包与装饰器的精髓,成为编程界的隐藏Boss
【7月更文挑战第7天】探索Python编程的两大基石:闭包与装饰器。闭包是内部函数记住外部作用域的变量,如`make_multiplier_of`返回的`multiplier`,它保持对`n`的引用。装饰器则是函数工厂,接收函数并返回新函数,如`my_decorator`,它在不改变原函数代码的情况下添加日志功能。掌握这些,让代码更优雅,效率更高,助你成为编程高手。
85 3
|
JSON 数据格式
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
axios发送post请求,如何接受和返回一个axios的字段,解决bug的方法,困难的事情先从简单做起,先从发送一个axios的post请求做起,解决方法查别人的资料,查看F12看network就行
|
数据采集 调度 开发者
深入浅出Python协程:提升并发编程效率
在现代软件开发过程中,面对日益增长的用户需求和复杂的网络环境,如何有效地提升程序的执行效率和响应速度成为了开发者不得不考虑的问题。本文将探讨Python协程(Coroutine)的概念、工作原理及其在并发编程中的应用,旨在为读者提供一个从理论到实践的全面指南。我们将通过具体案例,展示如何利用协程优化I/O密集型任务处理,进而提升程序的并发处理能力。与传统的摘要不同,本文摘要旨在引起读者对协程技术深层次理解和实际应用的兴趣,而不仅仅是介绍文章内容。
【影像配准】目标影像在参考影像中的自动定位与裁剪(附有完整代码)
【影像配准】目标影像在参考影像中的自动定位与裁剪(附有完整代码)
|
存储 缓存 NoSQL
【老板要我啥都会】|前端升全栈之项目使用express重构项目(下篇)
这个时候我们就可以去把一些自己带有的不用的注释,安装一下我们的mysql和xss.新建一个db文件夹,新建一个mysql.js,将其中的内容拷贝过去,在新建一个conf文件夹,下面建一个db.js,也可以拷贝。
【老板要我啥都会】|前端升全栈之项目使用express重构项目(下篇)
|
XML JSON JavaScript
json转java实体,JSON和XML的区别比较,c#和c++的编译工具, 静态库和动态库的区别
json转java实体,JSON和XML的区别比较,c#和c++的编译工具, 静态库和动态库的区别
json转java实体,JSON和XML的区别比较,c#和c++的编译工具, 静态库和动态库的区别
《A Kernel Redundancy Removing Policy for Convolutional Neural Network》电子版地址
A Kernel Redundancy Removing Policy for Convolutional Neural Network
96 0
《A Kernel Redundancy Removing Policy for Convolutional Neural Network》电子版地址