Можно ли в Visual Studio ставить точки останова в коде, для которого у меня есть только символы отладки? - PullRequest
17 голосов
/ 24 декабря 2009

Поскольку у меня нет доступа к полному исходному коду библиотеки, которую я использую, но у меня есть файлы pdb, возможно ли установить точку останова в «исходном коде отладки»?

Если так, как бы я это сделал?

1 Ответ

26 голосов
/ 24 декабря 2009

Да, это возможно, вам не нужен исходный код. Отладка> Новая точка останова> Перерыв в функции . Установите местоположение для имени функции. Например: «Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly». Снимите флажок «Использовать Intellisense», у вас его не будет. Язык - это предположение, если вы не знаете, на чем он написан, выберите «Неизвестно», если вы не уверены.

Вы должны следить за окном Debug + Windows + Breakpoints, чтобы убедиться, что отладчик может разрешить точку останова. Это будет невозможно, пока сборка не будет загружена, а метод не скомпилирован в JIT.

Это, конечно, не самый лучший опыт отладки. Как только наступит точка останова, вам не на что будет смотреть, кроме машинного кода, сгенерированного компилятором JIT. И окно Call Stack, ваш конечный ресурс, чтобы увидеть имена методов между прочим.

...