买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:无锡先进技术研究院
摘要:本发明公开了一种虚拟机栈回溯方法、装置及存储介质,所述方法包括判断当前方法是否为本地方法;若当前方法是本地方法,则判断当前方法是否是在线程暂停时正在执行的方法;若当前方法是在线程暂停时正在执行的方法,则通过上下文信息直接从对应寄存器中获取所述当前方法的父方法的栈顶指针与父方法的返回地址,以进行栈回溯;若当前方法不是在线程暂停时正在执行的方法,则通过已经获取的信息来获取所述当前方法的父方法的栈顶指针与当前方法的返回地址;根据获取的父方法的栈顶指针与当前方法的返回地址读取对应地址的指令内容,截取指令的高位字段,并根据截取的指令内容从栈上获取父栈方法的栈顶指针与返回地址以进行栈回溯;本发明能够正确且快速地实现Java检测工具需要的本地方法栈回溯功能。
主权项:1.一种虚拟机栈回溯方法,其特征在于,在Java虚拟机本地方法栈回溯过程中,当需要获取当前方法的栈顶指针时,执行以下步骤:判断当前方法是否为本地方法;若当前方法是本地方法,则判断当前方法是否是在线程暂停时正在执行的方法;若当前方法是在线程暂停时正在执行的方法,则通过上下文信息直接从对应寄存器中获取所述当前方法的父方法的栈顶指针与父方法的返回地址,以进行栈回溯;若当前方法不是在线程暂停时正在执行的方法,则通过已经获取的信息来获取所述当前方法的父方法的栈顶指针与当前方法的返回地址;根据获取的父方法的栈顶指针与当前方法的返回地址读取对应地址的指令内容,截取指令的高位字段,并判断指令内容是否为以下之一:指令1:设置父方法的栈顶指针的指令;指令2:设置返回地址的指令;指令3:标识当前方法为头方法的指令;如果匹配到的指令为指令1或指令2,则根据指令中的偏移量计算出包含有父方法返回地址的内存地址,并从内存地址中读取父方法的返回地址,根据获取的父方法的栈顶指针与父方法的返回地址,进行栈回溯;如果匹配到的指令为指令3,则确定当前方法为头方法,不具有父方法,栈回溯结束。
全文数据:
权利要求:
百度查询: 无锡先进技术研究院 一种虚拟机栈回溯方法、装置及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。