代理(proxy)与存根(stub)
COM中的stub:http://dev.csdn.net/article/20/20783.shtmhttp://comcamp.myrice.com/techarticles/vc/0005.htm在测试中,stub有时意思是"打桩程序"(应该是被植入的意思),但是在com里面还都是作存根解。RMI中的stub:http://www.nihaoblog.com/143_2154.htmlhtt
http://dev.csdn.net/article/20/20783.shtm
http://comcamp.myrice.com/techarticles/vc/0005.htm
在测试中,stub有时意思是"打桩程序"(应该是被植入的意思),但是在com里面还都是作存根解。
RMI中的stub:
http://www.nihaoblog.com/143_2154.html
http://www.csip.cn/new/st/jvl/2004/1224/3841.htm
GDB中的stub:
gdb使用详解
当调试一个远端目标设备时,gdb依靠了一个调试stub来完成其功能。调试stub即是
嵌入式系统中一小段代码,它提供了运行gdb的宿主机和所调试的应用程序间的一个媒介。
Gdb和调试stub通过GDB串行协议进行通信。GDB串行协议是一种基于消息的ASCII码
协议,包含了诸如读写内存、查询寄存器、运行程序等命令。由于绝大多数嵌入式系统
设计人员为了最好的利用他们手中特定的硬件的特征,总是自己编写自己的stub。所以
我们有必要清楚的了解一下gdb的串行通信协议。在后面我们会详细介绍
使用GDB调试嵌入式系统
主机调试器
在主机站点上,你将必须需要一个GDB版本以作为目标处理器的调试器。卖方提供的GNU GCC工具应该附带一个编译好的可执行的GDB,否则,你必须从RedHat下载源代码或者需要一个GNU FTP,然后自己建立调试器。如果你要运行一个Linux主机或者一个Windows的Cygwin,建立调试器是一个相对简单的过程。
目标"树桩"
GDB调试器与一个运行于目标处理器的小“树桩(stub)”交流。主机调试器与一个使用简单的支持读写注册表和内存的协议交流。你将会发现GDB源目录中有许多处理器体系的写好的“树桩”,比如sh-stub.c, i386-stub.c, and m68k-stub.c。
如果你没有找到一个适合的“树桩”,在SourceForge上检查gdbstubs工程。你需要编译和连接合适的“树桩”到目标嵌入程序和提供两个通讯函数:getDebugChar()和putDebugChar()。你的系统初始化代码也会调用set_debug_traps()函数来初始化“树桩”和安装必要的调试异常处理。
编写自己的"树桩(stub)"
如果你无法找到已经写好的“树桩”,你不得不自己编写自己的“树桩”。如果你对目标CPUx体系很熟悉的话,这样的工程也不是很复杂。最简单的方法就是对现成的“树桩”进行更改。“树桩”中绝大多数的代码都与通讯协议有关,可以可以不变地使用于不同处理器之间。
你将需要更改内嵌汇编程序部分,这主要处理安装和处理处理器的异常问题,包括断点,单步,以及通用的保护错误。
异常处理相对比较简单:它们必须将CPU注册存放在一个静态缓冲器,然后输入handle_exception()函数,这一函数带有一个显示异常原因的整数参数。handle_exception()函数然后取得对CPU的控制并处理与主机调试部分的所有通讯。你将需要对handle_exception()函数作一些特别是更改,但绝大部分的代码都是可以利用的。
http://www.zdnet.com.cn/developer/webdevelop/story/0,3800067013,39156474,00.htm
采用ROM监控器的调试技巧分析
RedBoot自带一个GDB“存根进程(stub)”,可提供目标端通信软件,允许用户通过标准GDB协议命令进行远端调试,这样设计师就能利用RedBoot与运行GNU调试器的主机通过串口或网络连接起来调试设计的嵌入式软件。RedBoot支持多种处理器架构和硬件平台,包括ARM、日立SHx、MIPS、PowerPC、SPARC以及x86等。
http://www.eetchina.com/ART_8800312705_617693_7fccc601.HTM
单元测试中的stub:
1. 驱动模块(driver):相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
2. 桩模块(stub):用于代替所测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不容许什么事情也不做。
所测模块与它相关的驱动模块及桩模块共同构成了一个“测试环境”。驱动模块和桩模块的编写会给测试带来额外的开销。因为它们在软件交付时不作为产品的一部分一同交付,而且它们的编写需要一定的工作量。特别是桩模块,不能只简单地给出“曾经进入”的信息。为了能够正确的测试软件,桩模块可能需要模拟实际子模块的功能,这样桩模块的建立就不是很轻松了。
http://www.matrix.org.cn/forum_view.asp?forum_id=18&view_id=17561
其他的stub
stub有的时候还可能是抽头的意思
更多推荐
所有评论(0)