发明名称 | 一种实现编译器错误的自动定位方法和装置 | ||
摘要 | 本发明公开了一种实现编译器错误的自动定位方法和装置,其中,所述方法包括:利用编译器编译可执行程序的源文件,包括:分别用标准的编译器生成正确的第一可执行码,用待定位错误的编译器生成第二可执行码;利用程序加载工具读入所述第一可执行码和第二可执行码,完成对应所述第一可执行码的第一可执行程序及对应所述第二可执行码的第二可执行程序的运行;利用所述程序加载工具控制从第一可执行程序和第二可执行程序中选取函数,利用二分法和替代法定位实现对第二可执行程序中错误函数的定位。通过本发明,能够把错误定位到函数一级,直接针对可执行码中的函数进行错误定位,并且,错误定位的时间更快。 | ||
申请公布号 | CN102446134A | 申请公布日期 | 2012.05.09 |
申请号 | CN201010508986.5 | 申请日期 | 2010.10.13 |
申请人 | 无锡江南计算技术研究所 | 发明人 | 漆锋滨;李中升;白书敬;姜军;张海军;王超 |
分类号 | G06F11/36(2006.01)I | 主分类号 | G06F11/36(2006.01)I |
代理机构 | 北京集佳知识产权代理有限公司 11227 | 代理人 | 逯长明;王宝筠 |
主权项 | 一种实现编译器错误的自动定位方法,其特征在于,所述方法包括:利用编译器编译可执行程序的源文件,包括:分别用标准的编译器生成正确的第一可执行码,用待定位错误的编译器生成第二可执行码;利用程序加载工具读入所述第一可执行码和第二可执行码,完成对应所述第一可执行码的第一可执行程序及对应所述第二可执行码的第二可执行程序的运行,将第二可执行程序中使用的全局数据映射到第一可执行程序的地址空间;利用所述程序加载工具分别从第一可执行程序和第二可执行程序中选取函数,利用二分法和替代法定位实现对第二可执行程序中错误函数的定位,所述替代法包括基于第二可执行程序中使用的全局数据与第一可执行程序的地址空间的映射关系,以第二可执行程序中的函数替代第一可执行程序中的相应函数。 | ||
地址 | 214083 江苏省无锡市滨湖区军东新村030号 |