CN102789412B - 定位代码bug的方法及其实现系统 - Google Patents

定位代码bug的方法及其实现系统 Download PDF

Info

Publication number
CN102789412B
CN102789412B CN201110125974.9A CN201110125974A CN102789412B CN 102789412 B CN102789412 B CN 102789412B CN 201110125974 A CN201110125974 A CN 201110125974A CN 102789412 B CN102789412 B CN 102789412B
Authority
CN
China
Prior art keywords
functional module
module
value
code
error code
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.)
Expired - Fee Related
Application number
CN201110125974.9A
Other languages
English (en)
Other versions
CN102789412A (zh
Inventor
何银南
蔡章盛
刘红冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konka Group Co Ltd
Original Assignee
Konka Group Co Ltd
Filing date
Publication date
Application filed by Konka Group Co Ltd filed Critical Konka Group Co Ltd
Priority to CN201110125974.9A priority Critical patent/CN102789412B/zh
Publication of CN102789412A publication Critical patent/CN102789412A/zh
Application granted granted Critical
Publication of CN102789412B publication Critical patent/CN102789412B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种定位代码bug的方法及其实现系统,所述方法包括:预置软件错误码以及各功能模块的ID值;系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码,据此确定代码bug所在位置。所述系统包括:预置模块、存储更新模块和判断记录模块。本发明所述方法及其实现系统,通过记录上一功能模块的ID值和当前功能模块出现的软件错误码,可以确定代码bug出现的位置,实现了对代码bug的准确定位,高效捕获了代码bug所在,提高了软件开发人员的工作效率。

Description

定位代码bug的方法及其实现系统
技术领域
本发明涉及软件编程技术领域,尤其涉及一种定位代码bug的方法及其实现系统。
背景技术
所谓bug,在英文中表示“臭虫”的意思。但在电脑行业,却把电脑内部发生的小故障、软硬件的漏洞、错误等等,都称为“bug”。现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”。
在电子产品工程设计阶段,产品软件的设计经常会出现许多已知和未知代码bug,例如,在软件开发过程中,按照一般的设计思路,不同的函数返回结果为枚举值,枚举值的大小从0开始,若出现代码bug,将导致由于软件系统中函数体众多,设计人员需要花费大量的时间去寻找具体哪个函数哪个位置出现了bug。可见,如何高效的捕获代码bug,从而提高软件开发人员的工作效率已经迫在眉睫。
发明内容
为此,本发明所要解决的技术问题是:提供一种定位代码bug的方法及其实现系统,以实现对代码bug的准确定位,高效捕获代码bug所在,提高软件开发人员的工作效率。
于是,本发明提供了一种定位代码bug的方法,该方法包括:
预置软件错误码以及各功能模块的ID值;
系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码;
根据记录的上一功能模块的ID值和当前功能模块出现的软件错误码,确定代码bug所在位置。)
其中,在记录完上一功能模块的ID值和当前功能模块出现的软件错误码后,还包括:通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码。
其中,在打印完上一功能模块的ID值和当前功能模块出现的软件错误码后,还包括:显示上一功能模块的ID值和当前功能模块出现的软件错误码。
本发明还提供了一种定位代码bug的实现系统,该系统包括:
预置模块,用于预置软件错误码以及各功能模块的ID值;
存储更新模块,用于当系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
判断记录模块,用于判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码。
该系统还包括:
打印模块,在记录完上一功能模块的ID值和当前功能模块出现的软件错误码后,通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码。
上述系统还包括:
显示模块,在打印完上一功能模块的ID值和当前功能模块出现的软件错误码后,显示上一功能模块的ID值和当前功能模块出现的软件错误码。
本发明所述定位代码bug的方法及其实现系统,通过记录上一功能模块的ID值和当前功能模块出现的软件错误码,可以确定代码bug出现的位置,实现了对代码bug的准确定位,高效捕获了代码bug所在,提高了软件开发人员的工作效率。
附图说明
图1为本发明实施例所述定位代码bug的方法流程图;
图2为本发明实施例所述定位代码bug的实现系统结构示意图。
具体实施方式
下面,结合附图对本发明进行详细描述。
如图1所示,本实施例提供了一种定位代码bug的方法,该方法包括:
步骤1,预置软件错误码以及各功能模块的ID值;
步骤2,系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
步骤3,判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码;
步骤4,根据记录的上一功能模块的ID值和当前功能模块出现的软件错误码,确定代码bug所在位置。
为了方便软件开发人员了解问题所在,并解决问题,在步骤3之后,还包括:
步骤3',通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码,以便于将打印结果给到研发人员使用。
为了使系统能够更便捷的报告bug所在,在步骤3'之后还包括:
3'',显示上一功能模块的ID值和当前功能模块出现的软件错误码,以便于使用者、售后服务人员了解问题所在,以更便捷的报告给软件开发人员。
可见,通过记录上一功能模块的ID值和当前功能模块出现的软件错误码的方式,实现了对代码bug的定位
如图2所示,本实施例还提供了一种定位代码bug的实现系统,该系统包括:
预置模块21,用于预置软件错误码以及各功能模块的ID值;
存储更新模块22,用于当系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
判断记录模块23,用于判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码。
为了方便软件开发人员了解问题所在,并解决问题,定位代码bug的实现系统还包括:
打印模块24,在记录完上一功能模块的ID值和当前功能模块出现的软件错误码后,通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码。
为了使系统能够更便捷的报告bug所在,便于使用者、售后服务人员了解问题所在,以更便捷的报告给软件开发人员,定位代码bug的实现系统还包括:
显示模块25,在打印完上一功能模块的ID值和当前功能模块出现的软件错误码后,显示上一功能模块的ID值和当前功能模块出现的软件错误码。
例如,错误码预置
typedef enum _TV_SOFTWARE_ERROR
{
E_SOFTWARE_ERR_NO_ERROR = 0,
/******************多媒体模块*******************/
E_MEDIA_ERR_FS_RDONLY = 0x100000, //文件系统只读
E_MEDIA_ERR_FS_NO_SPACE, //硬盘空间不足
E_MEDIA_ERR_FILE_NOTFOUND, //文件没有发现
E_MEDIA_ERR_FS_NO_SPACE_AR, //归档区空间不足
E_MEDIA_ERR_CORE_DOWN, //下载进程停止
E_MEDIA_ERR_INVALID_PARAM, //参数无效或错误
E_MEDIA_ERR_MODDULE_CLOSED, //功能块关闭
/******************下载模块*******************/
E_DOWN_ERR_NOT_AUTHORIZED = 0x200000, //无此权限
E_DOWN_ERR_NO_SUCH_USER, //无此用户
E_DOWN_ERR_PWD_INVALID, //密码无效
E_DOWN_ERR_NOT_REGISTERED, //终端未注册
E_DOWN_ERR_USERID_INVALID, //用户号无效
E_DOWN_ERR_REGISTERED, //用户已经注册
E_DOWN_ERR_PATH_INVALID, //路径无效
E_DOWN_ERR_NOT_SUPPORTED, //不支持的功能
E_DOWN_ERR_SIZE_EXCEED, //文件尺寸超过限制
E_DOWN_ERR_NO_SUCH_TASK, //无此任务
E_DOWN_ERR_TASK_INIT_ING, //下载任务正在初始化
E_DOWN_ERR_NO_SUCH_MSG, //无此消息
E_DOWN_ERR_MSG_LOCKED, //消息被锁定
/******************资讯模块*******************/
E_INFO_ERR_INVALID_PARAM = 0x300000, //无效的参数
E_INFO_ERR_XML_PARSE_FAILED, //xml解析失败
E_INFO_ERR_NET_NO_LINK, //网络连接失败
E_INFO_ERR_SYSTEM, //系统故障
E_INFO_ERR_NAME_TOO_LONG, //名称/URL超长
E_INFO_ERR_NO_DISK, //没有存储磁盘
/******************播放模块*******************/
E_PLAY_ERR_FILE_NOT_EXIST = 0x400000, //播放文件不存在
E_PLAY_ERR_PLAY_FAILED, //播放失败
/******************在线音乐模块*******************/
E_ONLINE_MUSIC_ERR_NET_ERROR = 0x500000,//在线音乐网络故障
E_ONLINE_MUSIC_ERR_REFRESH_DATA_FAILED, //刷新数据失败
/******************卡拉OK模块*******************/
E_KARAOK_ERR_PARAM_ERR = 0x600000, //参数错误
E_KARAOK_ERR_NO_RESOURCE, //没有资源
/******************在线教育模块*******************/
E_EDU_ERR_FILE_NOT_EXIST = 0x700000, //文件不存在
E_EDU_ERR_SYSTEM_ERROR, //系统错误
}TV_SOFTWARE_ERROR;
假设,系统目前正运行在下载模块,而到达该模块,可以是从多媒体模块进入过来的,也可以是从在线视频模块进入过来的,因此,为了定位需要,必须记录源模块与目标模块的位置。所以,在本实施例中,系统完成当前下载功能模块运行后,进入下一功能模块前,要存储并更新上一功能模块的ID值,并判断当前下载功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码。
例如,从多媒体模块到达下载模块出现了bug,而从在线视频模块到达下载模块没有出现bug,则记录多媒体模块的ID值,以及当前下载模块出现的软件错误码。这样,就实现了对bug位置的准确定位。
综上所述,本发明实施例所述定位代码bug的方法及其实现系统,通过记录上一功能模块的ID值和当前功能模块出现的软件错误码,可以确定代码bug出现的位置,实现了对代码bug的准确定位,高效捕获了代码bug所在,提高了软件开发人员的工作效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1. 一种定位代码bug的方法,其特征在于,包括:
预置软件错误码以及各功能模块的ID值;
系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码;
根据记录的上一功能模块的ID值和当前功能模块出现的软件错误码,确定代码bug所在位置;
所述各功能模块包括多媒体模块、下载模块、资讯模块、播放模块、在线音乐模块、卡拉OK模块、在线教育模块,所述软件错误代码包括所述功能模块不同的错误方式代码。
2. 根据权利要求1所述的方法,其特征在于,在记录完上一功能模块的ID值和当前功能模块出现的软件错误码后,还包括:通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码。
3. 根据权利要求2所述的方法,其特征在于,在打印完上一功能模块的ID值和当前功能模块出现的软件错误码后,还包括:显示上一功能模块的ID值和当前功能模块出现的软件错误码。
4. 一种定位代码bug的实现系统,其特征在于,包括:
预置模块,用于预置软件错误码以及各功能模块的ID值;
存储更新模块,用于当系统完成当前功能模块运行后,进入下一功能模块前,存储并更新上一功能模块的ID值;
判断记录模块,用于判断当前功能模块在系统运行中是否出现了代码bug,若是,则记录上一功能模块的ID值和当前功能模块出现的软件错误码;
所述各功能模块包括多媒体模块、下载模块、资讯模块、播放模块、在线音乐模块、卡拉OK模块、在线教育模块,所述软件错误代码包括所述功能模块不同的错误方式代码。
5. 根据权利要求4所述的系统,其特征在于,还包括:
打印模块,在记录完上一功能模块的ID值和当前功能模块出现的软件错误码后,通过串口打印上一功能模块的ID值和当前功能模块出现的软件错误码。
6. 根据权利要求4所述的系统,其特征在于,还包括:
显示模块,在打印完上一功能模块的ID值和当前功能模块出现的软件错误码后,显示上一功能模块的ID值和当前功能模块出现的软件错误码。
CN201110125974.9A 2011-05-16 定位代码bug的方法及其实现系统 Expired - Fee Related CN102789412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110125974.9A CN102789412B (zh) 2011-05-16 定位代码bug的方法及其实现系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110125974.9A CN102789412B (zh) 2011-05-16 定位代码bug的方法及其实现系统

Publications (2)

Publication Number Publication Date
CN102789412A CN102789412A (zh) 2012-11-21
CN102789412B true CN102789412B (zh) 2016-12-14

Family

ID=

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539883A (zh) * 2009-05-05 2009-09-23 北京和利时系统工程有限公司 嵌入式系统的错误追踪方法和装置
CN101582050A (zh) * 2009-06-22 2009-11-18 阿里巴巴集团控股有限公司 一种软件测试中的Bug提示方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539883A (zh) * 2009-05-05 2009-09-23 北京和利时系统工程有限公司 嵌入式系统的错误追踪方法和装置
CN101582050A (zh) * 2009-06-22 2009-11-18 阿里巴巴集团控股有限公司 一种软件测试中的Bug提示方法和装置

Similar Documents

Publication Publication Date Title
JP5662405B2 (ja) ユーザ装置をプロビジョニングするシステム及び方法
KR102341154B1 (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
JP6616774B2 (ja) アンチマルウェア型モバイルコンテンツデータ管理装置及び方法
US10761816B2 (en) Method and system for determining interface compatibility based on component model
WO2013109860A1 (en) Software builder
US8688866B1 (en) Generating recommendations for peripheral devices compatible with a processor and operating system of a computer
CN109508178A (zh) 一种程序开发方法及装置
JP2009245029A (ja) 構成情報管理装置、構成情報管理プログラム及び構成情報管理方法
CN112241370A (zh) 一种api接口类的校验方法、系统及装置
US8448133B2 (en) Software development, deployment and evolution system, method and program product
US9183117B2 (en) Method for developing and testing a connectivity driver for an instrument
KR102102546B1 (ko) Scl 유효성 검사 방법 및 이를 위한 scl 유효성 검사 장치
KR101505438B1 (ko) 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN102789412B (zh) 定位代码bug的方法及其实现系统
US20090249058A1 (en) System aiding for design
CN102707942A (zh) 操作系统体验状态
JP2020024567A (ja) Api仕様書生成装置、api仕様書生成方法、およびプログラム
CN101334738B (zh) 用以解析电子文件的技术
US20130067045A1 (en) Intersystem coordination apparatus in distribution system
CN114048134A (zh) 基于pom和数据驱动的自动化测试方法和装置
US20090037468A1 (en) Method for examining and representing timing markup and recording medium for recording data structure thereof
CN102789412A (zh) 定位代码bug的方法及其实现系统
CN102203756B (zh) 信息处理系统中使用的客户端装置、服务器装置以及框架程序
KR100827814B1 (ko) 모바일 인터넷 브라우징의 페이지 이동 시스템 및 방법
US20100115328A1 (en) Methods and Systems for Handling Device Failovers during Test Executions

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161214

Termination date: 20170516