启动一个程序 A 一直执行单测 B ,对于每次测试 C ,需要获取到 C 当次测试用例的执行路径信息:
即调用点在哪里,依次经过了哪些函数,最后在哪里终止(终止点某个函数的某一行)
程序的执行过程是一个不断压栈弹栈的过程,想要获取完整的执行路径,只有最后的栈快照是不行的。
目前想到的方法是这样的:
在每个方法的第一行插入一段代码,这段代码可以完成以下功能:
调用 A 程序中的静态方法,把自己的函数名称传递给 A 。
在 A 程序中维护一个 C 的执行路径序列,这样在 C 运行结束的时候,就可以获取到 C 执行了哪些函数。具体在某一行截至这个还没考虑。
不知道自己考虑的对不对,或者大家还有没有什么更好的方案,希望可以多多交流