Что на самом деле делают pdb файлы?

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

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

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

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

7
задан Panagiotis Kanavos 16 July 2010 в 20:11
поделиться

2 ответа

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

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

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

2
ответ дан 7 December 2019 в 16:38
поделиться

pdb не нужен на удаленной машине. Отладчик сам должен быть в состоянии найти его, а не удаленный агент.

1
ответ дан 7 December 2019 в 16:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: