Можно ли сгенерировать дерево вызовов функций во время выполнения? Я хотел бы понять, что вызывает программа.
По сути, это то же самое, что ломаться в определенном месте, проходить через каждую функцию и записывать имена функций. У меня нет ограничений по производительности.
Я использую Visual Studio, но не обязан.
// редактировать
Чтобы уточнить, если бы у меня была функция A
, вызывающая функцию B
, и функция C
, а функция B
, вызывающая функцию D
, я бы хотел следующий пример вывода:
(0.01s) -> Function A
(0.02s) -> Function B
(0.02s) -> Function D
(0.03s) -> Function C
Мне не нужен статический график вызовов. Я хочу, что происходит в стеке для каждого вызова функции во время выполнения.