CN1949185A - 异构环境下支持多语言多平台的并行调试及性能分析方法 - Google Patents
异构环境下支持多语言多平台的并行调试及性能分析方法 Download PDFInfo
- Publication number
- CN1949185A CN1949185A CN 200510030498 CN200510030498A CN1949185A CN 1949185 A CN1949185 A CN 1949185A CN 200510030498 CN200510030498 CN 200510030498 CN 200510030498 A CN200510030498 A CN 200510030498A CN 1949185 A CN1949185 A CN 1949185A
- Authority
- CN
- China
- Prior art keywords
- program
- debugging
- pitching pile
- parallel
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明提供一种异构环境下支持多语言多平台的并行调试及性能分析方法,考虑到集群体系的异构性,从逻辑上将本地的监控端和远程运行节点彻底的分开,并行环境调试及性能分析系统分为监控端、集群守护进程以及远程运行节点三部分。同时,为实现可视化性能分析及调试,将其依次分为四大步骤,即前端代码分析步骤、自动插桩步骤、调试支持与性能分析步骤以及可视化用户管理步骤。本发明技术方案支持异构并行环境,并在体系结构上可支持多种语言及并行平台。其与语言及并行平台无关的体系结构,具有独立于具体编程语言和并行库的插桩模板。为异构环境下支持多语言多平台的并行调试及性能分析提供一种新的方法和手段。
Description
技术领域
本发明涉及一种并行调试及性能分析方法,属于高性能并行计算中的调试监控技术领域。
背景技术
目前,网络高性能计算环境的研究受到广泛重视,构建的思路和实现形式也各不相同。按照构建形式,可以将它们分为技术相关的两大类:
(1)集群计算。采用高速网络连接一组工作站或微机,组成一个集群,或在通用网上寻找一组空闲处理机形成一个动态的虚拟集群,使之在中间管理控制下提供具有很高性价比的高性能计算服务。
(2)网格计算。它的目标是通过互联网络将广域范围的计算资源、数据源和其他设备统一组织管理,形成一个可相互利用、相互合作的高性能计算环境,用户可以像登录一台超巨型机一样使用它。
无论集群计算或网格计算,其基本思想都是将各种分散的计算资源进行整合,从而实现高效的并行计算。尤其网格作为高性能计算发展的趋势,其环境中的系统必然是各种异构的系统,或位于不同的网络体系结构下,或采用不同的操作平台。由此导致的高性能计算环境中的复杂性,并行编程语言及并行平台的多样性,为高质量并行软件的开发造成了更大的困难,也为并行程序的调试及性能监控分析工作提出了更高的要求。
经文献检索发现,传统的并行程序的调试及性能分析工具,如曙光2000并行调试器DCDB和中国科学院计算所的ParaVision等,对于不同平台的可扩展性方面较为薄弱。而对于集群或网格计算环境中的异构性特点而言,目前国内还没有成熟的相关工具。
国外的同类工具中除了Etnus的TotalView等少数几个是由比较好的第三方厂商提供的,其他的一般都是由SUN、IBM、HP等并行计算机生产商提供的针对他们生产的特定型号的并行机开发的操作系统,因此这些调试工具对于平台的兼容性较差,而且有的工具只是提供了并行程序的调试,并不能很好地进行性能分析。因此目前国内外并行计算的研究人员迫切的希望开发兼容性、综合性好的有效的并行调试和性能分析辅助工具。
发明内容
本发明的目的在于,针对现有技术存在的缺陷或不足,为用户提供异构环境下支持多语言多平台的并行调试及性能分析方法,通过定义通用类型系统来统一异构节点间的数据表达,来完成动态调试功能,并通过进程事件的定义对并行程序的执行性能进行详细的图形化分析。
为达上述目的,本发明采用如下技术方案:
异构环境下支持多语言多平台的并行调试及性能分析方法,考虑到集群体系的异构性,从逻辑上将本地的监控端和远程运行节点彻底的分开,并行环境调试及性能分析系统分为监控端、集群守护进程以及远程运行节点三部分。
同时,为实现可视化性能分析及调试,将其依次分为四大步骤,即前端代码分析步骤、自动插桩步骤、调试支持与性能分析步骤以及可视化用户管理步骤。
其中,前端代码分析步骤对源代码进行预处理及词法语法分析,产生完整语法树,并根据语法树分析输出所有用户自定义函数的列表,函数之间的调用关系,以及其它一系列辅助信息,使得在插桩时可进行同一工程多文件之间的交叉引用分析,并在插桩结束后提供语法树的导出和反向生成代码的功能。
自动插桩步骤是对分析后的代码进行修改和包装,插入调试代码以记录程序运行情况并收集性能参数。它是在集群守护进程处完成的。为实现对语言及平台的无关性,我们将插桩库的具体实现和插桩库的语义分离开来。在具体插桩的时候,将根据插桩模版的语义修改用户的代码,但是具体模版的实现,则是可以由用户修改和扩充的。这种语义和实现分离的插桩库的实现机制,称为插桩模板库,使用这样的插桩技术能够为用户提供很好的灵活性和可扩展性。基于程序语义结构的插桩脚本的定义和设计,代码分析结果生成的配置文件记录了整个程序的函数及断点信息,用于控制整个插桩过程。可针对多种语言及并行库的插桩库的设计,插桩模板机制将插桩库的具体实现和插桩库的语义分离开来。
调试支持与性能分析步骤主要是在远程并行节点上对插桩后的代码运行,同时进行并行程序静态和动态断点调试,收集程序运行过程的性能参数,把这些信息传递回监控端。
可视化用户管理步骤主要是对程序运行过程中各个并行节点的实时状态进行显示,并能够对程序运行过程中的函数调用情况进行树形显示,同时可以显示程序运行过程中的静态断点和动态断点信息以及内存变量值。可视化性能分析可以对程序运行过程中的性能数据给予图形化的显示与分析,帮助找到程序中的性能瓶颈或错误,从而有利于程序的优化。基于测量的可视化的性能分析技术,插桩机制保证可以收集程序运行过程中大量的性能数据,用于程序的性能分析。
本发明技术方案支持异构并行环境,并在体系结构上可支持多种语言及并行平台。其与语言及并行平台无关的体系结构,具有独立于具体编程语言和并行库的插桩模板。为异构环境下支持多语言多平台的并行调试及性能分析提供一种新的方法和手段。
以下结合附图及实施例进一步说明本发明。
附图说明
图1本发明并行环境调试及性能分析系统体系结构示意图;
图2同济大学并行调试及性能分析系统具体实施示意图
图3本发明方法流程图。
具体实施方式
一种异构环境下支持多语言多平台的并行调试及性能分析方法,其异构环境下并行程序调试及可视化性能分析系统主要包括两大部分:监控端和远程并行运行节点。监控端主要通过对输入的源程序进行词法语法分析,同时从远程运行节点接收并行程序调试信息和性能分析数据,然后把这些信息和数据进行分析和可视化的显示。远程运行节点接收本地监控端代码分析的结果,根据插桩模板库对程序进行插桩,插桩后的代码在远程节点上运行后,产生一定的调试信息和程序性能分析数据,这些信息和数据实时的发送回监控端。国家高性能计算机工程和技术中心同济分中心,基于曙光3000高性能并行计算机,构造了异构环境下并行程序调试及性能分析系统。
同济大学并行调试及性能分析系统具体实施如图2所示:其中,
本地监控端是PC机(个人计算机),安装了Redhat Linux 9.0操作系统,并行环境:PVM3.4.3,开发环境:Kylix 3.0企业版,支持STL(标准模板库)。远程运行端为曙光3000高性能并行计算机,安装了AIX 4.3.3操作系统,并行环境:PVM3.4.3,编译环境:GCC3.2.2版本。相互通过Socket通讯。
首先在本地监控端建立一个工程,并为此工程添加文件:源代码,头文件和辅助文件。然后对此工程进行代码分析,代码分析的结果生成源代码的语法树,同时生成一个配置文件,记录要插桩的函数以及用户设置的静态断点信息等。
然后监控端把代码分析的结果和配置文件发送到远程并行节点的守护进程,同时发送插桩和编译请求,守护进程主要是对程序的入口和出口进行插桩、用户实现的函数插桩、并行库函数的插桩以及静态断点的插桩,插桩后的结果主要是对源程序中函数进行了一些包装和修改,插入调试代码和性能跟踪数据,同时记录了程序静态断点调试信息。
然后插桩后的代码在远程并行节点进行编译,生成可执行文件。
接着监控端向远程运行节点发送执行程序的请求,监控端运行可执行文件,同时根据程序中已设的静态断点信息和监控端发送来的动态断点调试命令,进行并行程序的调试。程序运行过程中,远程运行节点同时收集程序运行过程中的性能数据。
远程运行端将性能数据按一定格式发送回监控端。
最后监控端根据收集到的性能统计信息,动态显示程序的当前执行状况。在整个程序的运行过程中,监控端随时可以向执行中的程序发送调试命令,中断和恢复程序的执行。
其流程图如图2所示,具体步骤描述如下:
1)开始,在监控端输入程序源代码;
2)监控端对源程序进行代码分析,其中包括词法分析和语法分析;
3)代码分析的结果生成源程序的语法树,通过从源代码中提取一些信息,生成一个配置文件,在其中记录了引用到的文件名称,由用户给出实现的函数名称,程序中定义的变量的名称和断点信息;
4)代码分析后的语法树和配置文件传送给远程运行节点的集群守护进程进行插桩工作;
5)远程并行节点上的自动插桩器根据接受到的配置文件信息控制整个插桩过程;
6)对整个程序进行插桩;
7)对程序中的用户函数和并行函数进行插桩;
8)对程序的中静态断点进行插桩;
9)在程序的入口出插入程序开始模板,该模板用于初始化自身的全局变量,并且获取一系列的环境变量,包括程序的开始时间,函数号、进程号等;
10)在程序的出口出插入程序退出模板,该模板用于程序结束时释放调试时候申请的内存,同时记录程序的结束时间,函数号等;
11)对用户函数的插桩。用户函数是指在用户程序中有具体实现的函数,以及由用户提供函数包装代码,自行调用的库函数。插桩的内容包括三个方面:函数的声明、实现和调用插桩。
12)对并行库函数的插桩对并行函数的插桩。由于并行库函数中有我们需要运行过程中收集的信息,因此除了插入基本模板外,还需要对此类函数进行进一步包装,插入一些性能分析函数,用于记录消息传递时的进程号、通讯时间和通讯量。
13)在静态断点前插入断点调试模板;
14)在静态断点后插入断点调试模板;
15)程序插桩的结果时记录了程序的出口和入口位置、开始和结束时间以及函数号,文件号等;
16)函数插桩的结果不仅记录了函数的开始和退出时间,而且记录了进程之间的通讯信息,用于收集程序运行过程中的性能数据;
17)静态断点插桩的结果记录调试的位置,同时提供了断点调试的代码用于收集调试信息;
18)插桩后的语法树还原成并行程序的代码;
19)插桩后代码在远程并行节点运行,同时进行静态和动态调试,以及程序性能分析;
20)远程并行节点把程序调试后的信息和性能分析数据传回本地监控端;
21)本地监控端把接受到的数据进行图形化的显示与分析;
22)退出。
其中,自动插桩的工作中,程序开始/退出插桩(步骤9、步骤10、步骤15)。具体描述如下:在程序的入口插入程序开始模板。对于C语言的程序工程中,main函数是入口点,插桩的所有用户代码将被放在main函数中的第一条语句之前。在这个模板中,需要初始化自身的全局变量,并且获取一系列的环境变量,此外用户还可以在这个模板中加入自己的初始化代码,收集一些程序运行的相关信息,包括程序的开始时间、进程号、工程号和函数号等。
在程序的出口插入程序退出模板。对于C语言的程序,插桩的所有用户代码将被放在main函数的最后一条语句之后以及每一条return(返回)语句之前。在这个模板中,释放为了调试而申请的内存,并且作一些清理工作,用户还可以在这个模板中加入自己的初始化代码,收集一些程序运行的相关信息,包括程序的退出时间和函数号等。
函数插桩(步骤11、步骤12、步骤16)。主要包括对用户函数的插桩、对并行函数的插桩。具体描述如下:
对用户函数的插桩。用户函数是指在用户程序中有具体实现的函数,以及由用户提供函数包装代码,自行调用的库函数。插桩的内容包括三个方面:一、在函数声明中加入参数以记录其在程序中的具体位置。二、在函数开始处插入函数进入模板,在函数最后及每一条返回语句前分别插入函数退出模板。这两个模板提供了断点代码以便在调试的时候动态设置断点,同时可插入用户自定义代码,调试事件和性能分析事件。三、由于函数声明改变,需要修改所有对该函数的调用,以保证能够产生正确的调试信息。
对并行函数的插桩。由于并行库函数中有需要运行过程中收集的信息,因此除了插入基本模板外,还需要对此类函数进行进一步包装。即,在插桩代码中需要记录需要分析的各项参数,然后根据这些参数初始化对应的通讯原语,并发送给服务器。在调用原并行库函数进行此消息传递通讯时,收集进程号、通讯时间和通讯量。
静态断点插桩(步骤13、步骤14、步骤17)。静态语句断点由用户在程序运行以前设置,插桩时需在被设置断点的语句之前和之后分别插入断点前后模板,并按要求加入一定的触发条件。在这个模板中提供可断点代码,以便在调试的时候能够在断点处停止,并且可以动态的激活或取消。
Claims (6)
1、一种异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于包括以下步骤:
1)前端代码分析,在监控端输入的程序源代码并进行代码分析,生成源程序的语法树和配置文件并发送至远程运行节点的集群守护进程;
2)自动插桩,远程运行节点的集群守护进程对该语法树和配置文件进行插桩;
3)调试与性能分析,将插桩后的语法树还原成并行程序的代码,并在该远程运行节点运行,同时进行静态和动态调试,以及程序性能分析,将程序调试后的信息和性能分析数据传回本地监控端;
4)可视化用户管理,本地监控端把接受到的数据进行图形化的显示与分析。
2、根据权利要求1所述的异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于:所述配置文件记录了引用到的文件名称,由用户给出实现的函数名称,程序中定义的变量的名称和断点信息。
3、根据权利要求2所述的异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于:所述自动插桩包括程序、函数、静态断点插桩。
4、根据权利要求3所述的异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于所述程序插桩的包括以下步骤:
(1)在程序的入口出插入程序开始模板,该模板用于初始化调试的全局变量,并且获取环境变量,包括程序的开始时间,函数号、进程号;
(2)在程序的出口出插入程序退出模板,该模板用于程序结束时释放调试时候申请的内存,同时记录程序结束时间、函数号。
5、根据权利要求3所述的异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于:所述函数插桩的包括对用户函数的插桩和对并行库函数的插桩对并行函数的插桩。
6、根据权利要求3所述的异构环境下支持多语言多平台的并行调试及性能分析方法,其特征在于:所述静态断点插桩包括分别在静态断点前和静态断点后插入断点调试模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100304987A CN100435111C (zh) | 2005-10-13 | 2005-10-13 | 异构环境下支持多语言多平台的并行调试及性能分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100304987A CN100435111C (zh) | 2005-10-13 | 2005-10-13 | 异构环境下支持多语言多平台的并行调试及性能分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1949185A true CN1949185A (zh) | 2007-04-18 |
CN100435111C CN100435111C (zh) | 2008-11-19 |
Family
ID=38018709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100304987A Expired - Fee Related CN100435111C (zh) | 2005-10-13 | 2005-10-13 | 异构环境下支持多语言多平台的并行调试及性能分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100435111C (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101963909A (zh) * | 2009-07-24 | 2011-02-02 | 株式会社理光 | 情报处理装置、工作流系统及工作流管理方法 |
WO2011035578A1 (zh) * | 2009-09-22 | 2011-03-31 | 中兴通讯股份有限公司 | 一种可视化业务流程调试方法和系统 |
CN102023920A (zh) * | 2010-10-27 | 2011-04-20 | 西安交通大学 | 一种远程并行程序调试系统中基于树形的消息聚集方法 |
CN102110052A (zh) * | 2011-03-03 | 2011-06-29 | 华中科技大学 | 一种程序行为动态剖析的并行加速方法 |
CN102650967A (zh) * | 2011-02-24 | 2012-08-29 | 上海宝信软件股份有限公司 | 分布式信息系统的集中式远程调试方法 |
CN102789413A (zh) * | 2011-05-23 | 2012-11-21 | 同济大学 | 一种并行程序的调试系统及方法 |
CN101727316B (zh) * | 2008-10-22 | 2013-01-02 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN102902620A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 基于gdb的异构计算调试环境的实现系统 |
CN103455364A (zh) * | 2013-09-05 | 2013-12-18 | 北京航空航天大学 | 一种多核环境并行程序Cache性能在线获取系统及方法 |
CN104252402A (zh) * | 2014-09-05 | 2014-12-31 | 深圳创维数字技术有限公司 | 一种程序调试方法及装置 |
CN104360936A (zh) * | 2014-10-17 | 2015-02-18 | 中国人民解放军国防科学技术大学 | 一种基于触发操作的Barrier操作性能分析方法 |
CN102650967B (zh) * | 2011-02-24 | 2016-12-14 | 上海宝信软件股份有限公司 | 分布式信息系统的集中式远程调试方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能在线拦截扩展的方法 |
CN106250179A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能拦截扩展的方法 |
CN106445784A (zh) * | 2016-09-27 | 2017-02-22 | 北京搜狐新动力信息技术有限公司 | 一种信息监控方法及装置 |
CN107247671A (zh) * | 2017-07-03 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种数据获取方法及装置 |
CN108021495A (zh) * | 2016-11-03 | 2018-05-11 | 北京计算机技术及应用研究所 | 基于回放的代码调试方法 |
CN115562962A (zh) * | 2022-09-28 | 2023-01-03 | 北京百度网讯科技有限公司 | 模型推理性能的分析方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133820B2 (en) * | 2000-03-15 | 2006-11-07 | Arc International | Method and apparatus for debugging programs in a distributed environment |
US6941492B1 (en) * | 2002-02-05 | 2005-09-06 | Emc Corporation | Debugging tool for efficient switching between targets in a multi-processor environment |
US7225431B2 (en) * | 2002-10-24 | 2007-05-29 | International Business Machines Corporation | Method and apparatus for setting breakpoints when debugging integrated executables in a heterogeneous architecture |
-
2005
- 2005-10-13 CN CNB2005100304987A patent/CN100435111C/zh not_active Expired - Fee Related
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727316B (zh) * | 2008-10-22 | 2013-01-02 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN101963909A (zh) * | 2009-07-24 | 2011-02-02 | 株式会社理光 | 情报处理装置、工作流系统及工作流管理方法 |
CN101963909B (zh) * | 2009-07-24 | 2013-11-06 | 株式会社理光 | 情报处理装置、工作流系统及工作流管理方法 |
WO2011035578A1 (zh) * | 2009-09-22 | 2011-03-31 | 中兴通讯股份有限公司 | 一种可视化业务流程调试方法和系统 |
CN102023920A (zh) * | 2010-10-27 | 2011-04-20 | 西安交通大学 | 一种远程并行程序调试系统中基于树形的消息聚集方法 |
CN102023920B (zh) * | 2010-10-27 | 2012-09-05 | 西安交通大学 | 一种远程并行程序调试系统中基于树形的消息聚集方法 |
CN102650967A (zh) * | 2011-02-24 | 2012-08-29 | 上海宝信软件股份有限公司 | 分布式信息系统的集中式远程调试方法 |
CN102650967B (zh) * | 2011-02-24 | 2016-12-14 | 上海宝信软件股份有限公司 | 分布式信息系统的集中式远程调试方法 |
CN102110052A (zh) * | 2011-03-03 | 2011-06-29 | 华中科技大学 | 一种程序行为动态剖析的并行加速方法 |
CN102789413A (zh) * | 2011-05-23 | 2012-11-21 | 同济大学 | 一种并行程序的调试系统及方法 |
CN102789413B (zh) * | 2011-05-23 | 2016-02-17 | 同济大学 | 一种并行程序的调试系统及方法 |
CN102902620A (zh) * | 2011-12-23 | 2013-01-30 | 同济大学 | 基于gdb的异构计算调试环境的实现系统 |
CN102902620B (zh) * | 2011-12-23 | 2015-06-03 | 同济大学 | 基于gdb的异构计算调试环境的实现系统 |
CN103455364A (zh) * | 2013-09-05 | 2013-12-18 | 北京航空航天大学 | 一种多核环境并行程序Cache性能在线获取系统及方法 |
CN103455364B (zh) * | 2013-09-05 | 2016-08-17 | 北京航空航天大学 | 一种多核环境并行程序Cache性能在线获取系统及方法 |
CN104252402B (zh) * | 2014-09-05 | 2018-04-27 | 深圳创维数字技术有限公司 | 一种程序调试方法及装置 |
CN104252402A (zh) * | 2014-09-05 | 2014-12-31 | 深圳创维数字技术有限公司 | 一种程序调试方法及装置 |
CN104360936A (zh) * | 2014-10-17 | 2015-02-18 | 中国人民解放军国防科学技术大学 | 一种基于触发操作的Barrier操作性能分析方法 |
CN104360936B (zh) * | 2014-10-17 | 2017-02-15 | 中国人民解放军国防科学技术大学 | 一种基于触发操作的Barrier操作性能分析方法 |
CN106250179A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能拦截扩展的方法 |
CN106250178A (zh) * | 2016-07-26 | 2016-12-21 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能在线拦截扩展的方法 |
CN106250178B (zh) * | 2016-07-26 | 2019-10-25 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能在线拦截扩展的方法 |
CN106250179B (zh) * | 2016-07-26 | 2019-10-25 | 北京北森云计算股份有限公司 | 通过多语言云编译实现系统动态功能拦截扩展的方法 |
CN106445784A (zh) * | 2016-09-27 | 2017-02-22 | 北京搜狐新动力信息技术有限公司 | 一种信息监控方法及装置 |
CN108021495A (zh) * | 2016-11-03 | 2018-05-11 | 北京计算机技术及应用研究所 | 基于回放的代码调试方法 |
CN107247671A (zh) * | 2017-07-03 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种数据获取方法及装置 |
CN115562962A (zh) * | 2022-09-28 | 2023-01-03 | 北京百度网讯科技有限公司 | 模型推理性能的分析方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100435111C (zh) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1949185A (zh) | 异构环境下支持多语言多平台的并行调试及性能分析方法 | |
CN1294486C (zh) | 多重处理环境中透明动态优化的方法和系统 | |
CN1149470C (zh) | 一种分析面向对象的程序的执行的方法和设备 | |
Fiutem et al. | A cliche-based environment to support architectural reverse engineering | |
Koschke et al. | An intermediate representation for integrating reverse engineering analyses | |
US20080244531A1 (en) | Method and system for generating a hierarchical tree representing stack traces | |
US20060265438A1 (en) | Leveraging garbage collection to dynamically infer heap invariants | |
US20060277528A1 (en) | Constraining source code and objects for analysis tools | |
CN1928816A (zh) | 嵌入式系统软件的模型驱动与构件化开发方法 | |
CN101727316B (zh) | 适于集群系统的并行程序集成开发系统及其应用实现方法 | |
CN1791037A (zh) | 一种实现Web服务自动化测试的方法 | |
CN1627254A (zh) | 嵌入式系统的调试方法及其装置 | |
CN101866315A (zh) | 软件开发工具的测试方法及系统 | |
CN100346609C (zh) | 网络管理中配置数据的采集系统及其方法 | |
CN100346315C (zh) | 基于脚本的三维建模软件自动测试方法 | |
Tanter et al. | A versatile kernel for distributed AOP | |
CN1932766A (zh) | 面向串行程序代码量大的领域的半自动并行化方法 | |
CN101055542A (zh) | 一种交叉集成开发环境中的符号调试方法及系统 | |
CN1912848A (zh) | 一种对编译器中的错误进行自动定位的方法 | |
Hammond et al. | Symgrid: a framework for symbolic computation on the grid | |
Yu et al. | Reducing build time through precompilations for evolving large software | |
CN1860437A (zh) | 可编译计算机程序的处理 | |
KR101961501B1 (ko) | 메모리 관리를 위한 동시 마킹 및 동시 스위핑을 이용한 보존적인 불용 정보 수집 기법 | |
Trinder et al. | GPH: an architecture-independent functional language | |
CN1900905A (zh) | 测试描述语言的实现方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081119 Termination date: 20111013 |