[发明专利]程序监控方法、装置、计算设备以及存储介质在审
申请号: | 201810271607.1 | 申请日: | 2018-03-29 |
公开(公告)号: | CN110321275A | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 王寸金 | 申请(专利权)人: | 腾讯科技(上海)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 步文娟;王琦 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 异常处理 可执行程序 程序监控 日志监控 异常信息 被测程序 编译模块 存储介质 代码捕获 计算设备 位置添加 运行模块 运行时 编译 发送 测试 返回 记录 申请 | ||
1.一种程序监控方法,其特征在于,所述方法包括:
获取被测程序的源代码;
当确定所述源代码中任一个函数不存在对应的用于异常处理的代码时,根据该函数的返回值类型,确定添加该函数对应的用于异常处理的代码的位置并在该位置添加该函数对应的所述用于异常处理的代码;
将对经过上述处理的所述源代码提供给编译模块,以使其对所述源代码进行编译得到待测试的可执行程序;及
当所述可执行程序在运行模块中运行时,将所述用于异常处理的代码捕获到的异常信息发送至日志监控模块,以使所述日志监控模块对所述异常信息进行记录。
2.根据权利要求1所述的方法,其特征在于,所述获取被测程序的源代码包括:
从反编译模块获取所述源代码,所述源代码为所述反编译模块对所述被测程序的原可执行程序进行反编译处理得到。
3.根据权利要求1所述的方法,其特征在于,所述确定所述源代码中任一个函数不存在对应的用于异常处理的代码为第一代码;所述确定添加该函数对应的用于异常处理的代码为第二代码;
所述第二代码包括监测代码和设置在所述监测代码后的捕获代码,其中,所述监测代码用于监测所述函数的异常信息,所述捕获代码用于捕获所述监测代码监测到的异常信息;
其中,根据该函数的返回值类型,确定添加该函数对应的用于异常处理的代码的位置,包括:
当所述该函数不存在返回值时,将所述监测代码的起始位置设置在所述函数的起始位置前,将所述监测代码的结束位置以及所述捕获代码设置在所述函数的结束位置后。
4.根据权利要求1所述的方法,其特征在于,所述确定所述源代码中任一个函数不存在对应的用于异常处理的代码为第一代码;所述确定添加该函数对应的用于异常处理的代码为第二代码;
所述第二代码包括监测代码和设置在所述监测代码后的捕获代码,其中,所述监测代码用于监测所述函数的异常信息,所述捕获代码用于捕获所述监测代码监测到的异常信息;
其中,根据该函数的返回值类型,确定添加该函数对应的用于异常处理的第二代码的位置,包括:
当所述该函数存在返回值时,将所述监测代码的起始位置设置在所述函数的起始位置前,将所述监测代码的结束位置以及所述捕获代码设置在处理所述返回值的位置前。
5.根据权利要求1所述的方法,其特征在于,所述确定所述源代码中任一个函数不存在对应的用于异常处理的代码为第一代码;所述确定添加该函数对应的用于异常处理的代码为第二代码;
其中,所述方法进一步包括:
当确定所述源代码的中任一个函数中的存在第一代码时,且所述第一代码存在捕获代码时,则执行
所述将对经过上述处理的所述源代码提供给编译模块,以使其对所述源代码进行编译得到待测试的可执行程序的步骤;及
所述当所述可执行程序在运行模块中运行时,将所述用于异常处理的代码捕获到的异常信息发送至日志监控模块,以使所述日志监控模块对所述异常信息进行记录的步骤;
其中,所述将所述用于异常处理的代码捕获到的异常信息发送至日志监控模块,包括:将所述捕获代码捕获到的异常信息发送至日志监控模块。
6.根据权利要求1所述的方法,其特征在于,所述确定所述源代码中任一个函数不存在对应的用于异常处理的代码为第一代码;所述确定添加该函数对应的用于异常处理的代码为第二代码;
其中,所述方法进一步包括:
当确定所述源代码的中任一个函数中的存在第一代码时,且所述第一代码不存在捕获代码时,在所述第一代码中添加所述捕获代码;
在添加完所述捕获代码后,执行所述将对经过上述处理的所述源代码提供给编译模块,以使其对所述源代码进行编译得到待测试的可执行程序的步骤;及
所述当所述可执行程序在运行模块中运行时,将所述用于异常处理的代码捕获到的异常信息发送至日志监控模块,以使所述日志监控模块对所述异常信息进行记录的步骤;
其中,所述将所述用于异常处理的代码捕获到的异常信息发送至日志监控模块,包括:将所述捕获代码捕获到的异常信息发送至日志监控模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(上海)有限公司,未经腾讯科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810271607.1/1.html,转载请声明来源钻瓜专利网。