CN104572475A - 检查程序源码的方法和装置 - Google Patents
检查程序源码的方法和装置 Download PDFInfo
- Publication number
- CN104572475A CN104572475A CN201510050361.1A CN201510050361A CN104572475A CN 104572475 A CN104572475 A CN 104572475A CN 201510050361 A CN201510050361 A CN 201510050361A CN 104572475 A CN104572475 A CN 104572475A
- Authority
- CN
- China
- Prior art keywords
- source code
- log information
- file
- code
- sound
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种检查程序源码的方法和装置,有助于提高程序测试的效率。该方法包括:在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;接受用户对日志信息内容的选择;根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
Description
技术领域
本发明涉及计算机程序测试技术领域,特别地涉及一种检查程序源码的方法和装置。
背景技术
在程序员完成程序的编写之后,要对程序进行测试。在测试环境中运行程序,如程序的源码存在错误,运行到该行源码时就会将源码错误记录到日志中。这样在日志中就存在多条日志信息,可以用堆栈的方式将其存储,一条日志信息就对应一处源码,该条日志信息描述了该处源码的错误详情。
在日志中记录了源码错误之后,就要利用日志来分析和修改源码。目前的做法是程序员看一条日志信息,然后到源码中查看该条日志信息描述的源码。这种做法使程序员反复切换和查看,经过长时间之后往往使程序员筋疲力尽,导致效率下降。
发明内容
有鉴于此,本发明提供一种检查程序源码的方法和装置,有助于提高程序测试的效率。
为实现上述目的,根据本发明的一个方面,提供了一种检查程序源码的方法。
本发明的检查程序源码的方法包括:在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;接受用户对日志信息内容的选择;根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
可选地,在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置的步骤包括:逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。
可选地,所述用户对日志信息内容的选择包括用户用鼠标双击日志信息中的类或函数。
可选地,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置的步骤之后,还包括:在未查找到该位置的情况下,接收用户指定的位置,将该指定的位置对应于该日志信息记录到所述解析文件中。
根据本发明的另一方面,提供了一种检查程序源码的装置。
本发明的检查程序源码的装置包括:记录模块,用于在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;选择模块,用于接受用户对日志信息内容的选择;呈现模块,用于根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
可选地,所述记录模块还用于:逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。
可选地,所述记录模块还用于在所述呈现模块未在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置的情况下,接收用户指定的位置,将该指定的位置对应于该日志信息记录到所述解析文件中。
根据本发明的技术方案,对日志进行解析以记录日志信息与其描述的源码在源码文件中的位置,这样在用户根据日志查看源码时,只需选择日志信息,就可以获得相应的源码,无需用户人工查找源码,省时省力,有助于提高程序测试的效率。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的检查程序源码的方法的基本步骤的示意图;
图2是根据本发明实施例的生成解析文件的一种具体流程的示意图;
图3是根据本发明实施例的使用解析文件的一种具体流程的示意图;
图4是根据本发明实施例的检查程序源码的装置的基本模块的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本发明实施例中,在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置,根据用户选择的日志信息,在解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。以下结合附图作进一步说明。图1是根据本发明实施例的检查程序源码的方法的基本步骤的示意图。
步骤S11:在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置。在本步骤中,逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。本步骤的一种具体流程如图2所示。图2是根据本发明实施例的生成解析文件的一种具体流程的示意图。其中的插件程序即为按本发明实施例实现的程序。
步骤S12:接受用户对日志信息内容的选择。例如用户用鼠标双击日志信息中的类或函数,就选择了日志信息的内容。
步骤S13:根据用户选择的日志信息,在解析文件中查找该日志信息所描述的源码在源码文件中的位置。
步骤S14:判断步骤S13中是否查找到。因为种种原因,例如在步骤S11之后源码又被修改,则有些日志信息所描述的源码的位置有可能改变。若查找到,进入步骤S15,否则进入步骤S16。
步骤S15:呈现查找到的位置的源码。
步骤S16:输出提示信息,提示用户指定源码中的一个位置。
步骤S17:接收用户指定的源码中的位置,将该位置对应于步骤S13中的用户选择的日志信息,保存到解析文件中。
步骤S12至S17是使用解析文件的过程。在该过程中,具体可以采用图3所示的步骤,图3是根据本发明实施例的使用解析文件的一种具体流程的示意图。
图4是根据本发明实施例的检查程序源码的装置的基本模块的示意图。如图4所示,检查程序源码的装置40主要包括记录模块41、选择模块42、以及呈现模块43。记录模块41用于在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;选择模块42用于接受用户对日志信息内容的选择;呈现模块43用于根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
记录模块41还可用于:逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。
记录模块41还可用于在呈现模块43未在解析文件中查找该日志信息所描述的源码在源码文件中的位置的情况下,接收用户指定的位置,将该指定的位置对应于该日志信息记录到解析文件中。
根据本发明实施例的技术方案,对日志进行解析以记录日志信息与其描述的源码在源码文件中的位置,这样在用户根据日志查看源码时,只需选择日志信息,就可以获得相应的源码,无需用户人工查找源码,省时省力,有助于提高程序测试的效率。
以上结合具体实施例描述了本发明的基本原理,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种检查程序源码的方法,其特征在于,包括:
在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;
接受用户对日志信息内容的选择;
根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
2.根据权利要求1所述的方法,其特征在于,在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置的步骤包括:
逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。
3.根据权利要求1所述的方法,其特征在于,所述用户对日志信息内容的选择包括用户用鼠标双击日志信息中的类或函数。
4.根据权利要求1所述的方法,其特征在于,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置的步骤之后,还包括:在未查找到该位置的情况下,接收用户指定的位置,将该指定的位置对应于该日志信息记录到所述解析文件中。
5.一种检查程序源码的装置,其特征在于,包括:
记录模块,用于在解析文件中对应地记录日志信息与该日志信息所描述的源码在源码文件中的位置;所述日志信息是运行所述源码时发现的源码错误的记录;
选择模块,用于接受用户对日志信息内容的选择;
呈现模块,用于根据用户选择的日志信息,在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置,在查找到该位置的情况下呈现该位置的源码。
6.根据权利要求5所述的装置,其特征在于,所述记录模块还用于:逐行读入日志信息,在程序源码中查找读入的日志信息所描述的源码,若查找到该源码,则在解析文件中记录该源码所在的源码文件的绝对路径和文件名以及该源码在该源码文件中所在的行数,若未查找到该源码,则在解析文件中记录该源码的位置为空。
7.根据权利要求5所述的装置,其特征在于,所述记录模块还用于在所述呈现模块未在所述解析文件中查找该日志信息所描述的源码在源码文件中的位置的情况下,接收用户指定的位置,将该指定的位置对应于该日志信息记录到所述解析文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510050361.1A CN104572475A (zh) | 2015-01-30 | 2015-01-30 | 检查程序源码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510050361.1A CN104572475A (zh) | 2015-01-30 | 2015-01-30 | 检查程序源码的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572475A true CN104572475A (zh) | 2015-04-29 |
Family
ID=53088607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510050361.1A Pending CN104572475A (zh) | 2015-01-30 | 2015-01-30 | 检查程序源码的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572475A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980506A (zh) * | 2017-03-31 | 2017-07-25 | 山东超越数控电子有限公司 | 一种php源码保护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式系统日志收集方法及系统 |
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成系统及方法 |
US20140279920A1 (en) * | 2013-03-15 | 2014-09-18 | Amazon Technologies, Inc. | Log record management |
-
2015
- 2015-01-30 CN CN201510050361.1A patent/CN104572475A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式系统日志收集方法及系统 |
CN101515232A (zh) * | 2008-02-21 | 2009-08-26 | 卓望数码技术(深圳)有限公司 | 一种软件持续集成系统及方法 |
US20140279920A1 (en) * | 2013-03-15 | 2014-09-18 | Amazon Technologies, Inc. | Log record management |
Non-Patent Citations (2)
Title |
---|
ZHWEI_87: "Libevent源码分析——日志和错误处理", 《CSDN博客频道》 * |
高洪岩: "《Android学习精要》", 30 September 2012, 清华大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980506A (zh) * | 2017-03-31 | 2017-07-25 | 山东超越数控电子有限公司 | 一种php源码保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831052B (zh) | 测试用例自动化生成装置及方法 | |
US10705748B2 (en) | Method and device for file name identification and file cleaning | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
US20170132638A1 (en) | Relevant information acquisition method and apparatus, and storage medium | |
CN102012857B (zh) | 一种对Web页面进行自动化测试的装置及方法 | |
US9098634B2 (en) | Creating test templates based on steps in existing tests | |
CN103914657A (zh) | 一种基于函数特征的恶意程序检测方法 | |
CN111125116B (zh) | 定位业务表中代码字段及对应代码表的方法及系统 | |
CN105354256A (zh) | 一种数据分页查询的方法及装置 | |
CN112364024A (zh) | 一种表数据批量自动比对的控制方法及装置 | |
CN105183908A (zh) | 一种兴趣点poi数据的分类方法和装置 | |
CN103780448A (zh) | 一种控件层代码的生成方法及装置 | |
CN104598382B (zh) | 一种测试控制方法和装置 | |
Xu et al. | MULAPI: A tool for API method and usage location recommendation | |
CN104156373A (zh) | 编码格式检测方法及装置 | |
CN104937540A (zh) | 获取与类似代码相关联的应用生命周期管理实体的标识 | |
CN110688315A (zh) | 接口代码检测报告生成方法、电子装置及存储介质 | |
CN104572475A (zh) | 检查程序源码的方法和装置 | |
CN105808623A (zh) | 一种基于搜索的页面访问事件关联方法和装置 | |
Chen et al. | Over 20 years of reaction access systems from MDL: a novel reaction substructure search algorithm | |
CN105138364B (zh) | 一种终端系统升级的方法及装置 | |
CN102945342B (zh) | 进程识别方法、装置和终端设备 | |
CN105320603A (zh) | 浏览器页面元素的定位系统和方法及其自动化测试方法 | |
CN104992136A (zh) | 识别条形码的方法及装置 | |
CN110457046B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |