[发明专利]一种并行程序的调试系统及方法有效
申请号: | 201110271034.0 | 申请日: | 2011-09-14 |
公开(公告)号: | CN102789413A | 公开(公告)日: | 2012-11-21 |
发明(设计)人: | 蒋昌俊;陈闳中;闫春钢;孙海平;石琴琴;柴华;张栋良 | 申请(专利权)人: | 同济大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 叶琦玲 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 程序 调试 系统 方法 | ||
技术领域
本发明涉及一种信息技术领域,尤其涉及一种并行程序的调试系统及方法。
背景技术
起初人们认为计算机性能的提高主要是由于生产出了更快更有效的处理器。这种观点受到了并行处理概念的挑战:并行计算的根本意义是将两台或多台计算机连接起来,共同解决一些复杂的计算问题。比如,随着科学和信息技术的发展,许多领域如气象预报、地震分析、信息检索等都需要对大规模、海量数据进行快速高效的处理,促使计算从串行过度到并行。并行计算在军事、科技、商业等领域应用也越来越广泛,更多的用户开始使用并行技术处理问题。
并行处理技术的发展已经有了20多年的历史,虽然说并行机硬件的发展算不上是突飞猛进,但是也是相当迅速的。IBM、Intel、SUN、SGI等公司都致力于高性能并行机的研发,并且在市场取得了不错的业绩。但是,相对于硬件体系结构的发展而言,软件的发展却严重滞后,影响了硬件效率的发挥,限制了并行机系统的广泛应用。
例如,作为并行程序的调试器,目前许多并行程序调试器还不具备平台的可移植能力。虽然有些调试器对于平台移植这一问题采取了有效的方法,那就是利用GDB作为底层的串行调试器,例如P2D2和Mantic。但它们也存在着缺陷,因为它们对GDB返回结果的输出都由远端一个服务器进行解析,本地不做此项工作,这也导致了它们不能更好的支持异构的环境。人们采用DCDB和DDBG解决了异构的问题,但DCDB和DDBG使用的GDB接口是原来的GDB解释器,在可扩展性、可靠性、可维护性和效率上都存在缺陷。
另外的并行程序解决方案,如TotalView能够自动捕获MPI、PVM、HPF、OpenMP等并行程序进行调试,可以在本地调试多进程、多线程的程序,可以调试同构机群系统上的分布式系统,支持动态调试,功能强大,是少有的多平台商业调试器。但是它没有使用现成的串行调试器,在不同平台下要使用不同的版本,不支持异构环境,由于用户界面和底层控制都运行在Unix/Linux平台,不熟悉Unix/Linux平台的用户使用时会感觉相对困难。
发明内容
本发明的目的是针对现有技术存在的并行程序调试的不足,提供一种能够实现跨平台应用的并行程序的调试系统及方法,方便用户编辑调试代码、设置并行程序运行断点,并能通过远程调用的方式编译、运行、调试并行程序,以及查看性能分析结果,具有很好的移植性和可扩展性。
为了达到上述发明目的,本发明提出了一种并行程序的调试系统,所述系统是通过以下的技术方案实现的:
一种并行程序的调试系统,所述系统包括:
前端集成调试模块,用来给用户提供调试窗口,对待调试的并行程序进行调试操作;
后台调试管理模块,用来根据前端集成调试模块发来的调试命令,通过源代码插桩,并对插桩后的并行程序进行编译运行,并将运行的结果反馈给前端集成调试模块。
进一步优选地,所述前端集成调试模块具体包括:
工程管理子模块,用来提供工程管理功能,所述工程管理功能包括支持用户新建、删除新的工程,在工程中添加、删除文件;
文件管理子模块,用来提供文件管理功能,所述文件管理功能包括源代码文件的新建、打开、保存或关闭;
代码编辑管理子模块,用来提供代码编辑管理功能,所述代码编辑管理功能包括允许用户编辑代码、代码板旁边即时显示行号、支持基本的编程语言关键字高亮显示,支持区分大小写的查找或替换;
界面子模块,用来根据用户需求或系统推荐,设置断点或性能观测点。
进一步优选地,所述界面子模块还包括一对话框,用来设置各种可能的条件值对断点进行控制。
进一步优选地,所述后台调试管理模块包括:
插桩模块,用来按照实际需要对源代码进行访问和修改,加入所需要的功能代码,来捕获程序当前的状态或增加外部代码运行过程的控制。
进一步优选地,所述插桩模块具体包括:
断点管理插桩子模块,用来使得经插桩后的代码在执行过程中与前端集成调试模块进行通信,模拟实现断点效果;
变量观测插桩子模块,用来使得经插桩的代码与前端集成调试模块之间进行通信,在断点处传输有效变量信息并显示给用户;
性能分析插桩子模块,用来使得经插桩的代码在执行过程中与前端集成调试模块之间进行通信传递并行程序的性能参数,并在前端集成调试模块中实现性能观测与记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110271034.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种一体化共模差模电感器
- 下一篇:一种超大直径棒形绝缘子芯