Visual Studio: трассировка вызова метода в реальном времени? - PullRequest
2 голосов
/ 07 июля 2010

Это то, что я ищу: я бы хотел получить список вызовов методов в реальном времени, когда я отлаживаю свою программу.Так, например, скажем, я запускаю свою программу через отладчик, если я нажимаю кнопку или делаю что-нибудь в моей программе, я хотел бы, чтобы он выплевывал, скажем, на плагин для Visual Studio, в режиме реального времени, все методы, которые он прошелкогда я нажал эту кнопку или сделал какое-то действие пользователя с моей программой.

На самом деле я однажды написал плагин для Visual Studio, который делает это, используя API Visual Studio Profiler (мне пришлось написать DLL-сервер c ++ com, который получает эту информацию и передает ее обратно в мой плагин C #).Я сделал это несколько лет назад, и я понятия не имею, где я это положил.Но мне интересно, сделал ли Microsoft что-то подобное в Visual Studio 2010 или вы знаете какие-либо сторонние плагины, подобные этому, потому что это очень удобная утилита отладки.

Спасибо

Ответы [ 6 ]

1 голос
/ 07 июля 2010

Проверьте функцию Intellitrace в Visual Studio 2010 - она ​​может получить то, что вам нужно: http://msdn.microsoft.com/en-us/library/dd264915.aspx

0 голосов
/ 15 августа 2018

Обновлена ​​ссылка на 15.08.2008: IntelliTrace

Обратите внимание, что эта функция доступна только в версии Enterprise

На связанной странице:

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

  • Запись определенных событий

  • Проверкасвязанный код, данные, которые появляются в окне Locals во время событий отладчика, и информация о вызове функции

  • Ошибки отладки, которые трудно воспроизвести или которые происходят в развертывании

Вы можете использовать IntelliTrace в выпуске Visual Studio Enterprise (но не в выпусках Professional или Community) .

0 голосов
/ 07 июля 2010

Я думаю, что вы могли бы достичь этого с помощью АОП, например, PostSharp и реализация OnMethodBoundaryAspect и MultiCastAttribute для применения вашего аспекта к каждому методу вашей программы. У них даже есть пример для чего-то очень похожего на то, что вы хотите на их сайте.

0 голосов
/ 07 июля 2010

Это не бесплатно, это даже не дешево, но Профилировщик производительности ANTS RedGate может предоставить эти данные и многое другое.

0 голосов
/ 07 июля 2010

Вы должны проверить отладку IntelliTrace в Visual Studio 2010. Хотя она работает только с x86,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...