[发明专利]一种基于多线程嵌入式系统并行程序跟踪与回放方法有效
申请号: | 201410369935.7 | 申请日: | 2014-07-31 |
公开(公告)号: | CN104216764B | 公开(公告)日: | 2017-09-12 |
发明(设计)人: | 张晶;潘有顺;陈沫良;张果;崔毅;严涵;沈江炎;容会 | 申请(专利权)人: | 昆明理工大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 650093 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多线程 嵌入式 系统 并行 程序 跟踪 回放 方法 | ||
1.一种基于多线程嵌入式系统并行程序跟踪与回放方法,其特征在于:首先在并行程序执行阶段,利用嵌入式系统中程序运行路径追踪软硬件框架,记录多个线程执行路径信息,并生成一个记事本文件;
当程序中所有的线程执行路径信息记录完成后,程序调试人员通过查看程序源代码中的关注点与记录信息来检查记事本文件中的路径信息记录是否完整;
如果路径信息记录完整,进入并行程序回放阶段,利用嵌入式系统中程序路径回放软硬件框架,确保并行程序按照记事本文件中保存的路径重演;
所述基于多线程嵌入式系统并行程序跟踪与回放方法的具体步骤如下:
A、在并行程序执行阶段,利用嵌入式系统中程序运行路径追踪软硬件框架,记录多个线程执行路径信息,并生成一个记事本文件的具体步骤如下:
A1、首先宿主机中的嵌入式开发工具将程序源代码发送到缓冲区A中;
A2、宿主机中的线程追踪控制模块扫描此嵌入式程序源代码,并定位程序源代码中所有的横切关注点,此横切关注点包括除main函数之外的函数与方法,在所有横切关注点的开始处插入面向方面的切入点Pointcut标志;
A3、宿主机中的嵌入式开发工具使用Aspect机制新建一个包含Before通知横切关注点的Aspect函数,然后将Aspect函数与程序源代码编织成可执行面向方面程序,通过工具烧录到目标机存储器中;
A4、嵌入式操作系统启动面向方面程序,同时线程追踪检测模块监控程序的运行;
当出现线程调用函数或方法时,则获取当前访问线程、当前函数或方法、调用对象信息,并将这些信息组合成一个线程记录TM;同理,当程序再次出现线程调用其他函数或方法时,可得到程序中其余的线程记录TM;
当没有出现线程调用函数或方法时,则线程追踪检测模块继续监控程序的运行;
A5、线程记录TM通过目标机中的通信模块经过USB串口线发送到宿主机中的缓冲区B中保存;
A6、程序一次执行完成后,宿主机中的线程追踪控制模块将缓冲区B中的所有线程记录TM按时间的先后顺序加入到线程队列TQ中;
A7、宿主机将线程队列TQ输出到记事本文件out.txt中;
B、当程序中所有的线程执行路径信息记录完成后,程序调试人员通过查看程序源代码中的关注点与记录信息来检查记事本文件out.txt中的路径信息记录是否完整;
如果路径信息记录完整,进入并行程序回放阶段;
如果路径信息记录不完整,则重复执行步骤A4、A5、A6、A7;
C、进入并行程序回放阶段,并行程序回放阶段中并行程序按照记事本文件out.txt中保存的路径重演的具体步骤如下:
C1、线程回放控制模块将缓冲区B中线程队列TQ所包含的线程记录TM信息按FIFO原则依次通过USB串口线发送到目标机中的通信模块;
C2、目标机中的线程回放组件关闭线程追踪检测模块监控功能,防止在回放过程中再次对程序执行过程进行追踪检测;
C3、目标机中的线程回放组件读取并根据线程记录TM中所包含的线程、函数和访问对象的信息启动指定的线程,调用指定的函数去访问指定的对象,实现了该线程的执行信息的回放;
C4、目标机中的线程回放模块读取下一个线程记录TM,重复步骤C3,直到线程队列TQ所包含的最后一个线程记录TM,实现整个多线程并行程序一次执行的回放。
2.根据权利要求1所述的基于多线程嵌入式系统并行程序跟踪与回放方法,其特征在于:所述步骤A4中所述的线程记录TM是指在嵌入式系统中,处于运行态的线程一次执行过程所记录的相关执行信息,用一个三元组TM=<t,m,o>表示;
其中,t表示在任意时刻正在运行的线程,m表示线程t调用的函数或方法,o表示线程t所访问的对象类型,包括空Null、数据D、信号量S和消息M。
3.根据权利要求1所述的基于多线程嵌入式系统并行程序跟踪与回放方法,其特征在于:所述步骤A6中所述的线程队列TQ是指在嵌入式系统中,并行程序执行过程中所有线程记录TM所形成的一组序列,用TQ=<TM1,TM2,……TMn>表示;
其中,TMn 表示系统中并行程序中一个线程记录,n表示线程运行的时间点。
4.根据权利要求3所述的基于多线程嵌入式系统并行程序跟踪与回放方法,其特征在于:所述TQ中TMn之间具有时间上的先后关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410369935.7/1.html,转载请声明来源钻瓜专利网。