基于万维网的调试系统技术方案

技术编号:4968770 阅读:288 留言:0更新日期:2012-04-11 18:40
基于万维网的调试系统,包含以下模块:gdb客户端模块、网络套接字服务器模块、gdb命令转换模块、web服务端gdb命令收发模块、gdb用户交互模块、浏览器gdb命令收发模块、gdb服务端模块;其中所述网络套接字服务器模块通过RSP协议分别与gdb客户端模块、gdb-web-rsp模块相连接;所述gdbclient模块与所述gdb-web-MI模块相连接;所述web服务端gdb命令收发模块通过http协议与所述浏览器gdb命令收发模块相连接;所述gdb命令转换模块通过http协议与所述gdb用户交互模块相连接;所述浏览器gdb命令收发模块通过RSP协议与所述gdb服务端模块相连接。该系统扩展gdb的远程调试功能,使其能够应用于WWW环境,实现通过浏览器远程调试嵌入式目标程序。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

基于万维网的调试系统
本技术涉及嵌入式系统的调试技术,具体是指嵌入式系统基于WWW (WorldWide Web,万维网)的调试系统。
技术介绍
调试是软件开发过程中不可或缺的环节,嵌入式系统是资源受限系统,往往不具备使用本地调试能力,一种有效的解决方法是采用远程调试技术(也称交叉调试)。远程调试是指调试器运行的环境(宿主机)与被调试的系统(目标机)在物理上是分离的,通过串口或者TCP (Transmission Control Protocol,传输控制协议)进行连接的调试技术。 现在越来越多的软件系统基于WWW开发,以网站的形式提供给用户访问使用。因此,基于丽的调试器对于基于丽的IDE (IntegratedDevelopment Environment,集成开发环境)来说非常重要,需要实现能够以网页的形式提供给用户程序调试的能力。
技术实现思路
本技术所要解决的技术问题在于提供一种基于万维网的调试系统,该系统扩展gdb (GNU debugger, GNU调试器)的远程调试功能,使其能够应用于WWW环境,实现通过浏览器远程调试嵌入式目标程序。 本技术采用以下技术方案解决上述技术问题 基于万维网的调试系统,包含以下模块gdbclient (gdb客户端)模块、socketServer (网络套接字服务器)模块、gdbieb-MI (gdb命令转换)模块、gdb-web-rsp (web服务端gdb命令收发)模块、gdb-browser-UI (gdb用户交互)模块、gdb-browser-rsp (浏览器gdb命令收发)模块、gdbserver (gdb服务端)模块; 其中所述socketServer模块通过RSP协议(远程串行通信协议)分别与gdbclient牛莫块、gdb—web—rsp牛莫块相连接;所述gdbclient牛莫块与所述gdb_web_MI牛莫块相连接;所述gdb-web-rsp模块通过http (超文本传输协议)与所述gdb-browser-rsp模块相连接;所述gdbieb-MI模块通过http (超文本传输协议)与所述gdb-browser-UI模块相连接;所述gdb-browser-rsp模块通过RSP (远程串行通信协议)协议与所述gdbserver模块相连接。 本技术基于万维网的调试系统的优点在于基于gdb(GNU调试器)的远程调试能力,扩展其远程调试功能,使其能够应用于WWW环境,实现通过浏览器远程调试嵌入式目标程序。用户通过浏览器登录WWW应用开发服务器远程调试目标程序,其中WWW服务器端在后台运行gdb并封装gdb (GNU调试器)的操作和输出信息,在浏览器端呈现给用户一个IDE(集成开发环境)的调试系统,而且可实现跨平台调试Linux目标程序。附图说明下面参照附图结合实施例对本技术作进一步的描述。 图1是本技术结构示意图。具体实施方式基于万维网的调试系统,如图1所示,包含以下模块gdbclient模块、socketServer模块、gdb_web_MI模块、gdb_web_rsp模块、gdb_browser_UI模块、gdb-browser-rsp 模块、gdbserver模块;其中所述socketServer模块通过RSP(远程串行通信)协议分别与gdbclient模块、gdbieb-rsp模块相连接;所述gdbclient模块与所述gdbieb-MI模块相连接;所述gdbieb-rsp模块通过http (超文本传输)协议与所述gdb-browser-rsp模块相连接;所述gdbieb-MI模块通过http (超文本传输)协议与所述gdb-browser-UI模块相连接;所述gdb-browser-rsp模块通过RSP(远程串行通信)协议与所述gdbserver模块相连接。 gdb-browser-UI模块负责WWW调试器的前端显示,将用户的操作转换成调试命令通过http (超文本传输)协议发送给gdbieb-MI模块,以及将获取到的调试结果显示给用户; gdbieb-MI模块将用户的操作转换为相应的gdb/MI格式命令发送给gdb,并将gdb输出的调试信息发送给gdb-browser-UI模块; gdb-browser-rsp模块以轮询方式请求和发送RSP (远程串行通信协议)信息,其以浏览器控件的形式存在,方便与浏览器集成; gdbieb-rsp模块(1)读取RSP (远程串行通信)协议信息并封装成http协议数据回复给在Browser-host (浏览器主机)端的gdb-browser-rsp模块;(2)gdb-browser-rsp模块解析出RSP (远程串行通信协议)信息发给Eli皿x-target (嵌入式目标机)端的gdbserver模块; socketServer模块与gdb (GNU调试器),截获gdb (GNU调试器)本要发给gdbserver模块的RSP(远程串行通信)协议指令,socketServer模块将从Browser-host端得到的RSP(远程串行通信)协议数据发给gdb。 gdb (GNU调试器)远程调试功能扩展应用于WWW环境。gdb (GNU调试器)运行在Web-host (Web主机)端,而gdbserver模块运行在Eli皿x-target端(嵌入式目标机),因gdb(GNU调试器)与gdbserver模块不能直接在广域网上通信,WWW调试器要通过浏览器调试目标程序,所以需要将gdb (GNU调试器)与gdbserver通信的RSP (远程串行通信)协议数据封装成http (超文本传输)协议数据,这样才能建立gdb (GNU调试器)与gdbserver模块在WWW环境的通信。 Web-host和Browser-host端要有RSP(远程串行通信)协议数据的获取与转发模块,根据gdb (GNU调试器)远程调试的方式,建立一个替代gdbserver模块的本地socketServer模块与gdb (GNU调试器)建立通信,获取gdb本要发给gdbserver模块的RSP (远程串行通信协议)指令,socketServer模块将从Browser-host端得到的RSP (远程串行通信)协议数据发给gdb (GNU调试器)。 在Browser-host开发替代gdb (GNU调试器)的gdb-browser-rsp模块,其建立与Eli皿x-target的TCP或串口连接。 首先gdb (GNU调试器)以target remote 127. 0. 0. 1: port的方式建立与socketServer的连接,并将RSP (远程串行通信)协议指令发送给socketServer模块,gdbieb-rsp模块读取RSP (远程串行通信)协议信息并封装成http (超文本传输)协议数据回复给在Browser-host端的gdb_browser_rsp模块,gdb_browser_rsp模块角牟析出RSP协议信息发给Eli皿x-target端的gdbserver模块。而gdbserver模块回应的RSP (远程串行通信协议)信息发给在Web-host端的gdb (GNU调试器)。这样就建本文档来自技高网...

【技术保护点】
基于万维网的调试系统,包含以下模块:gdb客户端模块、网络套接字服务器模块、gdb命令转换模块、web服务端gdb命令收发模块、gdb用户交互模块、浏览器gdb命令收发模块、gdb服务端模块;  其中所述网络套接字服务器模块通过RSP协议分别与gdb客户端模块、gdb-web-rsp模块相连接;所述gdbclient模块与所述gdb-web-MI模块相连接;所述web服务端gdb命令收发模块通过http协议与所述浏览器gdb命令收发模块相连接;所述gdb命令转换模块通过http协议与所述gdb用户交互模块相连接;所述浏览器gdb命令收发模块通过RSP协议与所述gdb服务端模块相连接。

【技术特征摘要】
基于万维网的调试系统,包含以下模块gdb客户端模块、网络套接字服务器模块、gdb命令转换模块、web服务端gdb命令收发模块、gdb用户交互模块、浏览器gdb命令收发模块、gdb服务端模块;其中所述网络套接字服务器模块通过RSP协议分别与gdb客户端模块、gdb-web-rsp模块相连接;所...

【专利技术属性】
技术研发人员:张辉
申请(专利权)人:福建升腾资讯有限公司
类型:实用新型
国别省市:35[中国|福建]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1