Подтвердить что ты не робот

Как я могу найти вызывающего метода при переходе через С# в Visual Studio 2008?

Если я устанавливаю точку останова на методе, как я могу увидеть, что называется методом, когда точка останова попадает в Visual Studio 2008?

4b9b3361

Ответ 1

Проверьте окно "Стек вызовов" ( "Отладка", "Windows", "Стек вызовов" ). Двойной щелчок каждой записи приведет вас к вызывающему оператору. Вы также можете щелкнуть правой кнопкой мыши по нему, чтобы включить/отключить отображение внешних элементов кода и вызовов из других потоков.

Ответ 2

Если вы не видите ничего в стеке вызовов в точке останова, заданной пользователем, обычно это означает, что он был вызван из собственного кода.

Другой случай, когда он не может получить стек: вы удаляете Debug > Break All, а основной поток находится в состоянии ожидания/ожидания, отладчик может иметь проблемы с созданием стека вызовов. Я считаю, что отладчик использует основной поток для оценки неявной функции.

Попробуйте подключить (или запустить) смешанный режим (собственный и управляемый) отладчик кода и посмотреть, исправляет ли он это.

Ответ 3

При ударе точки останова вы можете просмотреть весь стек вызовов. Вы можете открыть это окно, перейдя в меню Debug- > Windows- > Call Stack.

Вы также можете вызвать его с помощью сочетания клавиш Alt + Ctrl + C

EDIT: Вы также можете щелкнуть правой кнопкой мыши по имени функции и просмотреть "График звонков", в котором будут показаны все вызывающие абоненты для вашего метода. Кроме того, вы можете вызвать браузер вызовов (перейдите в меню "Просмотр" > "Другие окна" > "Браузер вызовов" ) и выполните поиск имени вашего метода.

Ответ 4

Если вы не видите ничего в окне "Стек вызовов", то определенно что-то не так. Я бы предложил знаменитую последовательность R-действий:

  • Retry
  • Рекомпилированные
  • Restart
  • Переустановить:)

Ответ 5

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