首页 期刊 计算机研究与发展 基于动态二进制翻译和插桩的函数调用跟踪 【正文】

基于动态二进制翻译和插桩的函数调用跟踪

作者:卢帅兵; 张明; 林哲超; 李虎; 况晓辉; 赵刚 信息系统安全技术国家重点实验室(军事科学院); 北京100101
动态二进制翻译   代码插桩   函数调用跟踪   linux内核分析   跨平台  

摘要:动态函数调用跟踪技术是调试Linux内核的重要手段.针对现有动态跟踪工具存在支持平台有限、运行效率低的问题,基于二进制翻译,设计并实现支持多种指令集的动态函数调用跟踪工具.首先,使用二进制翻译进行系统加载、分析内核镜像,识别基本块的分支指令类型.然后,根据不同平台指令集,设计桩代码并在函数调用与返回指令翻译时插入桩指令,进而在程序执行和内核启动时实时获取时间戳、进程标识、线程标识、函数地址等信息.最后,内核加载完毕后,处理获取的信息,生成过程函数调用图.只需要根据平台指令集特点设计对应的信息获取桩代行为一致,桩代码执行信息记录产生了15.24%的时间开销,而信息处理并输出到磁盘文件产生了165.59%的时间开销,与现有工具相比,性能有较大提升.

注:因版权方要求,不能公开全文,如需全文,请咨询杂志社

学术咨询 免费咨询 杂志订阅