2016-07-05 8 views
1

Instrumentation - это процесс изменения программы, чтобы динамическая информация записывалась во время выполнения программы.Как мы можем вручную скомпоновать PHP-код для создания динамического вызова-трассировки?

Что я хочу знать, так это то, как я могу вручную настроить свой PHP-код для создания динамического вызова-трассировки?

ответ

0

Вручную?

  1. Добавить аргумент «вызванный из-за» для каждой функции/метода.
  2. Для каждой функции/методы, при входе выделить новый «под названием» объект»
  3. Введите имя функции в„Called“объект
  4. Сделать Названный объект относится через двунаправленную связь назад к вызываемому из аргумента.
  5. для каждого вызова функции, передать новый Called объект вызываемых, как вызываемых-от аргумента.
  6. в основном, создать новый «под названием» объект. помня его как «корень », , содержащий« основной »с нулевой обратной связью.

Теперь запустить главный. Эта схема построит дерево вызовов в корне.

Это звучит очень больно, если у вас много функций. Вы должны автоматизировать это. See this paper for a scheme on how to automate this kind of instrumentation.

 Смежные вопросы

  • Нет связанных вопросов^_^