Как установить точку останова для метода в рамках .net
Я хочу установить точку останова на System.Threading.SynchronizationContext:: SetSynchronizationContext, поэтому я могу узнать, когда задан контекст синхронизации.
Однако я не могу найти, как установить точку останова в методе, в котором у меня нет исходного кода.
( Это должно быть легко!, но когда я пытаюсь установить точку останова на методе из окна точек останова, он распознает метод.)
Ответы
Ответ 1
Нажмите "Отладка", "Windows", "Точки останова", "Создать", "Перерыв на функцию", введите System.Threading.SynchronizationContext.SetSynchronizationContext
и нажмите "ОК".
Это даст вам предупреждение, которое вы должны игнорировать. Я попробовал, и он работает.
Редактировать Ян Рогроуз
Мне также пришлось отключить параметр "Включить только мой код" в конфигурации "Отладка".
Запустите Visual Studio 2008 и вызовите Инструменты > Параметры > Отладкa > Общие. Если вы работаете под профилем Visual Basic, перед продолжением вам нужно будет установить флажок в диалоговом окне "Диалоговое окно" Параметры ", расположенное в нижней левой части окна" Показать все настройки "(другие профили не будут иметь эту опцию).
Установите следующие настройки:
Отключите параметр "Включить только мой код"
Ответ 2
Можно отлаживать кластерные классы .NET.
Все, что вам нужно сделать, это настроить VS.NET так, чтобы он мог загружать символы отладки для платформы .NET с одного из серверов Microsoft.
Однако вы не сможете установить точку останова внутри метода .NET, но вы сможете перейти на другой метод платформы .NET и во время отладки, и как только вы перейдете к этому методу, (и VS.NET открыл файл, который содержит метод SetSynchronizationContext), вы сможете установить точку останова для этого метода.
Для получения информации о том, как настроить VS.NET, чтобы вы могли отлаживать платформу .NET, нажмите здесь