Вызовите иерархию

Панель Call Hierarchy отображает дерево вызова функций в исходном коде.

Для каждого функционального foo, панель Call Hierarchy перечисляет функции и задачи тот вызов foo (вызывающие стороны) и вызванные foo (вызываемые). Вызывающие стороны обозначаются (функциями) или (задачами). Вызываемые обозначаются (функциями) или (задачами). Панель Call Hierarchy перечисляет прямые вызовы функции и косвенные вызовы через указатели функции. Косвенные вызовы показывают со значком. Вызовы, которые недостижимы, показывают с именем функции серого цвета.

Вы открываете панель Call Hierarchy при помощи значка в ваших деталях результата. Обновить панель:

  • Можно кликнуть по проверке на этапе выполнения, или на Results List или на панели Source. Вы видите, что функция содержит проверку со своими вызывающими сторонами и вызываемыми.

  • Можно кликнуть по имени функции в исходном коде. Вы видите вызывающие стороны и вызываемых функции. Если имя функции также показывает, что цвет проверки на этапе выполнения, вместо того, чтобы кликнуть по имени функции, щелкает правой кнопкой по имени и выбирает Go To Definition.

В этом примере панель Call Hierarchy отображает функциональный generic_validation, и его вызывающие стороны и вызываемые.

Номер строки в панели Call Hierarchy относится к различной линии в исходном коде:

  • Для имени функции номер строки относится к началу функционального определения. Определение generic_validation начинается на линии 69.

  • Для имени вызываемого номер относится к линии, где вызываемый называется. Вызываемый functional_ranges вызван generic_validation на линии 86.

  • Для имени вызывающей стороны номер относится к линии, где вызывающая сторона вызывает функцию. Вызывающая сторона main вызовы generic_validation на линии 50.

Совет

Чтобы перейти к местоположению вызова в исходном коде, выберите имя вызывающей стороны или вызываемого

В панели Call Hierarchy можно выполнить эти действия:

  •  Покажите/Скройте Вызывающим сторонам и Вызываемым

  •  Переместитесь по иерархии вызова

  •  Определите, заблокирована ли Функция

  •  Смотрите иерархию вызова программы