2010-07-16 4 views
7

ОК, я понимаю, что файлы PDB являются символьными файлами для сборников .NET. Но я никогда не рассматривал их расширенное использование.Что делают файлы pdb на самом деле?

Если я подключаюсь к удаленному отладчику из визуальной студии с загруженным кодом, действительно ли мне нужны файлы PDB на удаленной машине?

Я получу необработанную информацию об исключении без них на машине, где работает код без файлов PDB, и отладчик с подключенным исходным кодом?

Что еще они делают?

+0

Классический ресурс находится в блоге [John Robbins] (http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must -know.aspx). –

+0

Очень полезно! Благодаря! – Matt

ответ

2

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

Поскольку управляемые сборки сохраняют много текстовых имен символов из исходного исходного кода, вы можете сориентироваться в управляемом исполняемом файле с отладчиком без PDB, но вы сможете видеть только имена типов и общедоступные символы - вы не увидите имена для локальных символов, потому что они не нужны для привязки к сборке .NET или JIT IL к собственному коду во время выполнения.

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

1

Pdb не требуется на удаленной машине. Сам отладчик должен найти его, а не удаленную часть агента.

Смежные вопросы