我们如何手动检测PHP代码以生成动态调用跟踪?

时间:2016-07-05 13:30:21

标签: php instrumentation call-graph

Instrumentation是修改程序的过程,以便在程序执行期间记录动态信息。

我想知道的是我如何手动检测我的PHP代码以生成动态调用跟踪?

1 个答案:

答案 0 :(得分:0)

手动?

  1. 添加"来电"每个函数/方法的参数。
  2. 每个人 函数/方法,在条目中分配一个新的"被叫"对象"
  3. 将函数名称写入" Called"对象
  4. 让被叫对象参考 通过双向链接回到被叫参数。
  5. 对于每个函数调用,将新的Called对象传递给被调用者 被叫参数。
  6. 主要是创建一个新的"被叫"宾语。记住它是" root", 包含" main"使用null反向链接。
  7. 现在推出main。该方案将在根目录下构建一个调用树。

    如果你有很多功能,这听起来真的很痛苦。你应该自动化这个。 See this paper for a scheme on how to automate this kind of instrumentation.