关于 Java 的如何进行单体应用 tracing 的问题

13次阅读

共计 303 个字符,预计需要花费 1 分钟才能阅读完成。

各位大佬好,我现在有一个需求:

启动一个程序 A 一直执行单测 B,对于每次测试 C,需要获取到 C 当次测试用例的执行路径信息:
即调用点在哪里,依次经过了哪些函数,最后在哪里终止(终止点某个函数的某一行)

程序的执行过程是一个不断压栈弹栈的过程,想要获取完整的执行路径,只有最后的栈快照是不行的。
目前想到的方法是这样的:

在每个方法的第一行插入一段代码,这段代码可以完成以下功能:
调用 A 程序中的静态方法,把自己的函数名称传递给 A。

在 A 程序中维护一个 C 的执行路径序列,这样在 C 运行结束的时候,就可以获取到 C 执行了哪些函数。具体在某一行截至这个还没考虑。

不知道自己考虑的对不对,或者大家还有没有什么更好的方案,希望可以多多交流

正文完
 0