[发明专利]一种应用程序的调试方法、调试主机及运行主机有效
申请号: | 201510358840.X | 申请日: | 2015-06-25 |
公开(公告)号: | CN104965786B | 公开(公告)日: | 2019-01-11 |
发明(设计)人: | 王亦民;傅振 | 申请(专利权)人: | 上海华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 201206 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 调试 方法 主机 运行 | ||
本发明实施例公开了一种应用程序的调试方法,用于确保在应用程序调试的同时,该应用程序在运行主机上正常运行。本发明实施例方法包括:调试主机从镜像文件中获取第一进程的状态信息,所述第一进程为所述运行主机运行应用程序时对应的进程,所述第一进程的状态信息包括所述应用程序的代码和运行所述应用程序时的数据;所述调试主机将第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程,所述第二进程为预先创建的进程;所述调试主机通过所述第一进程对所述应用程序进行调试。本发明实施例还提供一种调试主机和一种运行主机,用于确保在应用程序调试的同时,该应用程序在运行主机上正常运行。
技术领域
本发明涉及通信技术领域,尤其涉及一种应用程序的调试方法、调试主机及运行主机。
背景技术
随着硬件性能的不断提升,使得其上运行的应用程序功能日益丰富,应用程序的软件代码规模也不断增大,随着代码的规模的增大,代码中隐藏的错误也更加难以被发现。因此编制好的应用程序在投入实际运行时,需要对应用程序进行调试,以便对该应用程序中存在的语法错误和逻辑错误的及时进行修正。
现有技术中,通过远程调试的方法实现应用程序的调试,该方法的具体过程为在运行主机上运行调试程序服务端,该运行主机与客户端之间通信连接,通过该客户端远程控制该调试程序服务端来调试运行主机上的应用程序。
然而,通过远程调试来调试应用程序的方法,直接在运行主机上对应用程序进行调试,调试过程中需要终止该应用程序,会对该应用程序的正常运行产生影响。
发明内容
本发明实施例提供了一种应用程序的调试方法、调试主机及运行主机,用于确保在应用程序调试的同时,该应用程序在运行主机上正常运行。
本发明实施例第一方面提供了一种应用程序的调试方法,包括:
调试主机从镜像文件中获取第一进程的状态信息,所述第一进程为所述运行主机运行应用程序时对应的进程,所述第一进程的状态信息包括所述应用程序的代码和运行所述应用程序时的数据;
所述调试主机将第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程,所述第二进程为预先创建的进程;
所述调试主机通过所述第一进程对所述应用程序进行调试。
结合本发明实施例的第一方面,在本发明第一方面的第一种实现方式中,所述调试主机将第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程包括:
所述调试主机通过系统内核的系统调用,将所述第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程。
结合本发明实施例的第一方面,在本发明第一方面的第二种实现方式中,所述调试主机将第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程包括:
所述调试主机接收用户终端发送的第一代码;
所述调试主机将所述第一代码和所述第一进程的状态信息映射至所述第二进程的空闲内存地址空间中;
所述调试主机通过访问所述空闲内存地址空间,读取第一代码;
所述调试主机通过读取所述第一代码,将所述第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程。
结合本发明实施例第一方面的第二种实现方式,在本发明第一方面的第三种实现方式中,所述调试主机通过执行所述第一代码,将所述第二进程的状态信息更新为所述第一进程的状态信息,以得到所述第一进程包括:
所述调试主机将非空闲内存空间中的第二进程的状态信息删除;
将所述空闲内存地址空间中的所述第一进程的状态信息映射到所述非空闲内存地址空间中,以得到所述第一进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华为技术有限公司,未经上海华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510358840.X/2.html,转载请声明来源钻瓜专利网。