[发明专利]一种在线调试C/C++程序的方法有效
申请号: | 201310444806.5 | 申请日: | 2013-09-25 |
公开(公告)号: | CN103473177B | 公开(公告)日: | 2016-11-30 |
发明(设计)人: | 张化劲;吴凌;杨楠;王千祥 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 在线 调试 c++ 程序 方法 | ||
1.一种在线调试C/C++程序的方法,在浏览器上调试后台服务器中的程序,其特征在于,包括如下步骤:
(1)程序员在浏览器端发送“开始调试”的命令,服务器端的控制进程接收到“开始调试”的命令,安全扫描将要运行的程序代码,扫描通过后启动一个以用户名标识的被调试进程。同时启动一个守护线程,监控被调试进程的运行时间。
(2)程序员在浏览器端控制台可以输入数据,服务器端的控制进程接收到控制台输入后,导入被调试进程的输入流中。同时,控制进程获取被调试进程的控制台输出。服务器把控制台输出推送到浏览器端,显示给程序员。
(3)在调试过程中,程序员可以在浏览器端发送一系列调试命令,包括断点添加、断点删除、单步进入、单步跳出、运行到当前行、继续、查看变量值。控制进程接收到调试命令后,对被调试程序执行调试命令对应的操作。
(4)被调试进程实时地把状态信息反馈给控制进程。控制进程解析状态信息文本,推送相应状态到浏览器端。
(5)调试结束后,控制进程终止被调试进程,调试结束。
2.如权利要求1所述的在线调试C/C++程序的方法,其特征在于,所属步骤(1)中,程序员在浏览器端发送“开始调试”命令时,同时附带用户名信息、被调试程序相对地址。控制进程通过上述信息定位被调试程序的绝对地址,启动被调试程序。
3.如权利要求1所述的在线调试C/C++程序的方法,其特征在于,所属步骤(1)中,当被调试程序运行时间超过设定的阈值时,守护线程终止被调试进程,本次调试结束。
4.如权利要求1所述的在线调试C/C++程序的方法,其特征在于,所属步骤(3)(4)中,服务器端的控制进程获取被调试进程状态信息和控制台输出后,通过服务器端推送技术(comet),把控制台输出和被调试进程状态信息推送到浏览器端。
5.如权利要求1所述的在线调试C/C++程序的方法,其特征在于,所属步骤(4)中,服务器端的控制进程获取被调试进程状态信息文本后,通过文本语言的词法分析、语法分析解析状态信息文本,得到运行状态。运行状态包括:程序当前运行的位置、浏览器端需要查看变量的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310444806.5/1.html,转载请声明来源钻瓜专利网。