[发明专利]一种计算机程序调试方法和装置有效
申请号: | 201610004830.0 | 申请日: | 2016-01-04 |
公开(公告)号: | CN105446886B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 张强;周玮;朱众微 | 申请(专利权)人: | 青岛海信移动通信技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 266071 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可执行程序 调试 计算机程序 加载 链表 方法和装置 调试参数 记录 计算机程序设计 函数调用 解析 截获 | ||
1.一种计算机程序调试方法,其特征在于,包括:
加载可执行程序和调试参数;
通过Hook机制对加载所述可执行程序的加载函数调用进行截获,获取所述可执行程序的package_name;
解析调试参数生成记录链表,所述记录链表包括至少一个hook_package,所述hook_package为一个待截获的package_name;
当确定所述可执行程序的package_name属于所述记录链表时,对所述可执行程序进行调试。
2.根据权利要求1所述的方法,其特征在于,所述对所述可执行程序进行调试,包括:
启动工作者线程;
读取控制指令;
根据所述控制指令输出所述可执行程序的调试信息。
3.根据权利要求2所述的方法,其特征在于,所述控制指令为:dump var指令;
所述根据所述控制指令输出所述可执行程序的调试信息,包括:
根据所述dump var指令输出所述可执行程序中指定类的变量状态信息。
4.根据权利要求2所述的方法,其特征在于,所述控制指令为:dump stack指令;
所述根据所述控制指令输出所述可执行程序的调试信息,包括:
根据所述dump stack指令输出所述可执行程序的进程的各个线程运行快照信息。
5.根据权利要求2所述的方法,其特征在于,所述控制指令为:dump method指令;
所述根据所述控制指令输出所述可执行程序的调试信息,包括:
根据所述dump method指令输出所述可执行程序中指定函数的运行堆栈信息。
6.一种计算机程序调试装置,其特征在于,包括:
加载单元,用于加载可执行程序和调试参数;
获取单元,用于通过Hook机制对加载所述可执行程序的加载函数调用进行截获,获取所述可执行程序的package_name;
处理单元,用于解析调试参数生成记录链表,所述记录链表包括至少一个hook_package,所述hook_package为一个待截获的package_name;
调试单元,用于当确定所述可执行程序的package_name属于所述记录链表时,对所述可执行程序进行调试。
7.根据权利要求6所述的装置,其特征在于,所述调试单元包括:
启动子单元,用于启动工作者线程;
读取子单元,用于读取控制指令;
输出子单元,用于根据所述控制指令输出所述可执行程序的调试信息。
8.根据权利要求7所述的装置,其特征在于,所述读取子单元接收的控制指令为:dumpvar指令;
所述输出子单元用于根据所述dump var指令输出所述可执行程序中指定类的变量状态信息。
9.根据权利要求7所述的装置,其特征在于,所述读取子单元接收的控制指令为:dumpstack指令;
所述输出子单元用于根据所述dump stack指令输出所述可执行程序的进程的各个线程运行快照信息。
10.根据权利要求7所述的装置,其特征在于,所述读取子单元接收的控制指令为:dumpmethod指令;
所述输出子单元用于根据所述dump method指令输出所述可执行程序中指定函数的运行堆栈信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信移动通信技术股份有限公司,未经青岛海信移动通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610004830.0/1.html,转载请声明来源钻瓜专利网。