Отслеживать неуправляемые вызовы функций во время выполнения? - PullRequest
0 голосов
/ 10 сентября 2010

Можно ли сгенерировать дерево вызовов функций во время выполнения? Я хотел бы понять, что вызывает программа.

По сути, это то же самое, что ломаться в определенном месте, проходить через каждую функцию и записывать имена функций. У меня нет ограничений по производительности.

Я использую Visual Studio, но не обязан.

// редактировать

Чтобы уточнить, если бы у меня была функция A, вызывающая функцию B, и функция C, а функция B, вызывающая функцию D, я бы хотел следующий пример вывода:

(0.01s) -> Function A
(0.02s)   -> Function B
(0.02s)       -> Function D
(0.03s)    -> Function C

Мне не нужен статический график вызовов. Я хочу, что происходит в стеке для каждого вызова функции во время выполнения.

1 Ответ

1 голос
/ 10 сентября 2010

Возможно, вы сможете добиться этого с помощью всевозможных подходов, но я думаю, что вам лучше всего использовать профилировщик.

Определение того, кто и как часто называет, именно для этого и предназначен этот инструмент.

...