Если я выбираю режим выпуска для создания dll, stacktrace информация все еще доступна?
Если так, затем какая информация недоступна в режиме выпуска?
У вас всегда есть информация о трассировке стека - это особенность времени выполнения, не связанная с режимом сборки - но номера строк и имена исходных файлов обычно недоступны в трассировках стека релизной сборки.
Вы можете получить номера строк и имена исходных файлов в трассировках стека сборки релиза (включая исключения), изменив конфигурацию сборки для создания полных файлов базы данных программы (.pdb). Для этого в Visual Studio:
Обратите внимание, что это поможет, только если файлы .pdb развернуты вместе с вашим приложением.
Если вы имеете в виду трассировку стека в контексте исключений, то да, информация трассировки стека все еще доступна в режиме выпуска. Что вы теряете в режиме выпуска, так это символы полной отладки, которые предоставляют информацию о точках последовательности исходного кода для трассировки стека. Это позволяет трассировке стека идентифицировать конкретную строку кода, на которую ссылается конкретная запись трассировки стека.
Кроме того, в режиме выпуска с включенной оптимизацией код может быть встроен, изменяя структуру кода времени выполнения. Хотя код выпуска среды выполнения определенно более оптимален, он меньше связан с фактически написанной строкой кода.