【技术实现步骤摘要】
基于Python的异常捕获方法、装置及计算机可读存储介质
本专利技术涉及计算机软件
,尤其是涉及一种基于Python的异常捕获方法、装置及计算机可读存储介质。
技术介绍
随着Python编程语言功能的不断完善和发展,基于Python编程语言开发的应用程序越来越多。在Python应用程序因异常退出时,研发人员为定位问题原因需要搜集程序错误信息,进而进行问题复现。现有的搜集错误信息的方式是查找程序发生异常时的记录,该记录包含异常发生时刻的环境信息,该信息对定位普通异常问题有效,但是该记录缺乏异常发生之前一段时间内的相关数据,无法定位复杂异常问题,尤其是常见的因内存溢出导致的程序崩溃,因为对于内存溢出时刻系统几乎无可用内存,现有程序中捕获异常模块很难申请到系统资源去记录异常发生时刻的错误信息,往往导致无错误信息可查。再者,现有的记录方式只是单纯记录软件错误信息,开发人员还要根据这些信息去反推用户操作,尝试复现步骤去构造问题发生时刻的系统环境,定位问题效率很低。现有的基于Python的异常捕获方式或是在程序中增加try ...
【技术保护点】
1.一种基于Python的异常捕获方法,其特征在于,包括:/n构建全局异常捕获函数,对系统异常进行实时捕获;/n在Python库thread源码中修改对默认全局异常和用户自定义全局异常的判定;/n当系统发生异常时,调用全局异常捕获函数对异常信息进行捕获,记录当前系统环境并生成异常信息记录。/n
【技术特征摘要】
1.一种基于Python的异常捕获方法,其特征在于,包括:
构建全局异常捕获函数,对系统异常进行实时捕获;
在Python库thread源码中修改对默认全局异常和用户自定义全局异常的判定;
当系统发生异常时,调用全局异常捕获函数对异常信息进行捕获,记录当前系统环境并生成异常信息记录。
2.根据权利要求1所述的基于Python的异常捕获方法,其特征在于,构建全局异常捕获函数的步骤,包括:
构建全局异常钩子函数和构建try/catch代码块;
定义全局异常捕获函数;
将所述全局异常捕获函数与所述全局异常钩子函数进行关联。
3.根据权利要求1所述的基于Python的异常捕获方法,其特征在于,还包括:
构建内存监控线程,对目标进程的内存进行实时监控;
当内存占用量或内存増量率超出异常门限时,记录当前系统环境并生成异常信息记录。
4.根据权利要求3所述的基于Python的异常捕获方法,其特征在于,构建内存监控线程,对目标进程的内存进行实时监控的步骤,包括:
构建内存监控线程;
利用memoryprofiler工具的公共API,对目标进程的内存进行定时监控。
5.根据权利要求4所述的基于Python的异常捕获方法,其特征在于,记录当前系统环境并生成异常信息记录的步骤...
【专利技术属性】
技术研发人员:刘超,邓淮谦,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。