Просмотр библиотек DLL и исполняемых файлов в окне «Модули» (C#, C++, Visual Basic, F#)
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В процессе отладки в Visual Studio окно Модули отображает список используемых приложением библиотек DLL и исполняемых файлов (.exe), а также сведения о них.
Окно «Модули» недоступно при отладке SQL и скриптов.
Использование окна модулей
Чтобы открыть окно «Модули» во время отладки, выберите Отладка>Окна>Модули или нажмите клавиши CTRL+ALT+U.
По умолчанию модули в окне Модули упорядочены в порядке загрузки. Чтобы выполнить сортировку по любому столбцу окна, щелкните заголовок соответствующего столбца.
Отправка символов
В столбце Состояние символов в окне Модули показано, для каких модулей загружены отладочные символы. Если здесь указано состояние Загрузка символов пропущена, Невозможно найти или открыть PDB-файл или Загрузка отключена параметром включения и исключения, вы можете загрузить символы вручную. Дополнительные сведения о загрузке и использовании символов см. в статье Указание файлов символов (.pdb) и исходных файлов.
Загрузка символов вручную
- В окне Модули щелкните правой кнопкой модуль, для которого не загружены символы.
- Выберите Сведения о загрузке символов, чтобы узнать, почему символы не были загружены.
- Щелкните Загрузить символы, чтобы загрузить символы вручную.
- Если символы не загружаются, выберите Параметры символов, чтобы открыть диалоговое окно Параметры и указать или изменить расположение для загрузки символов. Вы можете скачать символы с общедоступных серверов символов Майкрософт или других аналогичных серверов, а также загрузить их из локальной папки на компьютере. Дополнительные сведения см. в разделе Настройка расположения файлов символов и поведения при загрузке.
Изменение параметров поведения при загрузке символов
- В окне Модули щелкните правой кнопкой мыши любой модуль.
- Выберите Параметры символов.
- Выберите Загрузить все символы или выберите конкретные модули.
- Нажмите ОК. Изменения вступят в силу при следующем сеансе отладки.
Изменение поведения загрузки символов для конкретного модуля
- В окне Модули щелкните правой кнопкой мыши требуемый модуль.
- В контекстном меню установите или снимите флажок Всегда загружать автоматически. Изменения вступят в силу при следующем сеансе отладки.
См. также
- Прерывание выполнения
- Просмотр данных в отладчике
- Указание файлов символов (PDB) и файлов с исходным кодом
Отладка библиотек DLL в Visual Studio (C#, C++, Visual Basic, F#)
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Библиотека DLL (библиотека динамической компоновки) — это библиотека, содержащая код и данные, которые могут использоваться несколькими приложениями. Visual Studio можно использовать для создания, сборки, настройки и отладки библиотек DLL.
Создание библиотеки DLL
Создавать библиотеки DLL можно с помощью следующих шаблонов проектов Visual Studio.
- Библиотека классов C#, Visual Basic или F#
- Библиотека элементов управления Windows Forms (WCF) C# или Visual Basic
- Библиотека динамической компоновки (DLL) C++
Дополнительные сведения см. в разделе Методы отладки MFC.
Отладка библиотеки WCF аналогична отладке библиотеки классов. Дополнительные сведения см. в статье Элементы управления Windows Forms.
Обычно библиотека DLL вызывается из другого проекта. При отладке вызывающего проекта в зависимости от конфигурации библиотеки DLL можно выполнить шаг с заходом и отладить код библиотеки DLL.
Конфигурация отладки DLL
Когда вы используете шаблон проекта Visual Studio для создания приложения, Visual Studio автоматически создает требуемые параметры для конфигураций сборки отладки и выпуска. При необходимости эти параметры можно изменить. Дополнительные сведения см. в следующих статьях:
- Параметры проекта для конфигурации отладки C++
- Параметры проекта для конфигураций отладки .NET C#
- Параметры проекта для конфигураций отладки C#
- Параметры проекта для конфигурации отладки Visual Basic
- Практическое руководство. Настройка конфигураций отладки и выпуска
Установка DebuggableAttribute C++
Чтобы отладчик мог присоединиться к библиотеке DLL C++, код C++ должен добавлять DebuggableAttribute .
Установка DebuggableAttribute
- В обозревателе решений выберите проект DLL C++ и щелкните значок Свойства либо щелкните проект правой кнопкой мыши и выберите пункт Свойства.
- В области Свойства в разделе Компоновщик>Отладка выберите Да (/ASSEMBLYDEBUG) для свойства Отлаживаемая сборка.
Дополнительные сведения см. в статье /ASSEMBLYDEBUG.
Установка расположений DLL-файлов C/C++
Для отладки внешней библиотеки DLL вызывающий проект должен находить библиотеку DLL, ее PDB-файл и любые другие файлы, необходимые библиотеке DLL. Вы можете создать пользовательскую задачу сборки, чтобы скопировать эти файлы в выходную папку проекта \Debug, или скопировать файлы вручную.
Для проектов C/C++ можно задать расположения файлов заголовков и LIBD-файла на страницах свойств проекта, а не копировать их в выходную папку.
Задание расположений файла заголовка C/C и LIB-файла
- В обозревателе решений выберите проект DLL C/C++ и щелкните значок Свойства либо щелкните проект правой кнопкой мыши и выберите пункт Свойства.
- В верхней части области Свойства в разделе Конфигурация выберите Все конфигурации.
- В разделе C/C++>Общие>Дополнительные включаемые каталоги укажите папку с файлами заголовков.
- В разделе Компоновщик>Общие>Дополнительные каталоги библиотек укажите папку с LIB-файлами.
- В разделе Компоновщик>Ввод>Дополнительные зависимости укажите полный путь и имя файла для LIB-файлов.
- Нажмите ОК.
Дополнительные сведения о параметрах проекта C++ см. в статье Справочник C++ по страницам свойств проекта Windows.
Создание версии отладки
Перед началом отладки обязательно создайте отладочную версию библиотеки DLL. Для отладки библиотеки DLL вызывающее приложение должно находить PDB-файл и любые другие файлы, необходимые библиотеке DLL.
Вы можете создать пользовательскую задачу сборки, чтобы скопировать эти файлы DLL в выходную папку проекта \Debug, или скопировать файлы вручную.
Обязательно вызовите библиотеку DLL в правильном расположении. Это может показаться очевидным, но, если вызывающее приложение находит и загружает другую копию библиотеки DLL, отладчик никогда не достигнет заданных точек останова.
Отладка библиотеки DLL
Библиотеку DLL нельзя запускать напрямую. Ее должно вызывать приложение, обычно это EXE-файл. Дополнительные сведения см. в статье Проекты Visual Studio — C++.
Чтобы отладить библиотеку DLL, можно начать отладку из вызывающего приложения или выполнить отладку из проекта DLL, указав вызывающее приложение. Можно также использовать окно «Интерпретация» отладчика для вычисления функций или методов DLL во время разработки без использования вызывающего приложения.
Дополнительные сведения см. в статье Первое знакомство с отладчиком.
Запуск отладки из вызывающего приложения
Вызывать библиотеку DLL могут следующие виды приложений.
- Приложение из проекта Visual Studio в том же или другом решении из библиотеки DLL.
- Существующее приложение, которое уже развернуто и работает на тестовом или рабочем компьютере.
- Программа расположена в Интернете и доступна по URL–адресу.
- Веб-приложение с веб-страницей, которая внедряет библиотеку DLL.
Выполнить отладку библиотеки DLL из вызывающего приложения можно следующими способами.
- Откройте проект для вызывающего приложения и начните отладку, выбрав Отладка>Начать отладку или нажав клавишу F5. or
- Выполните присоединение к приложению, которое уже развернуто и работает на тестовом или рабочем компьютере. Используйте этот вариант для библиотек DLL на веб-сайтах или в веб-приложениях. Дополнительные сведения см. в разделе Практическое руководство. Присоединение к выполняемому процессу.
Перед запуском отладки этого вызывающего приложения нужно установить точку останова в DLL. См. статью Использование точек останова. При попадании в точку останова DLL можно пошагово проходить по коду, наблюдая действия в каждой строке. Дополнительные сведения см. в статье Навигация по коду с помощью отладчика.
Во время отладки в окне Модули можно проверить библиотеки DLL и EXE-файлы, загружаемые приложением. Чтобы открыть окно Модули, во время отладки выберите Отладка>Окна>Модули. Дополнительные сведения см. в разделе Практическое руководство. Использование окна модулей.
Использование окна «Интерпретация»
Окно Интерпретация можно использовать для вычисления функций или методов DLL во время разработки. Окно Интерпретация выполняет роль вызывающего приложения.
Окно Интерпретация можно использовать во время разработки с большинством типов проектов. Оно не поддерживается для SQL, веб-проектов или скриптов.
Например, чтобы протестировать метод с именем Test в классе Class1 , выполните следующие действия.
- Откройте проект DLL, откройте окно Интерпретация, последовательно выбрав пункты Отладка>Окна>Интерпретация или нажав сочетание клавиш CTRL+ALT+I.
- Создайте объект типа Class1 , введя следующий код C# в окне Интерпретация и нажав клавишу ВВОД. Этот управляемый код работает для C# и Visual Basic с соответствующими изменениями синтаксиса.
Class1 obj = new Class1();
?obj.Test(10);
Отладка в смешанном режиме
Вы можете написать вызывающее приложение для библиотеки DLL в управляемом или машинном коде. Если собственное приложение вызывает управляемую библиотеку DLL и вы хотите выполнить отладку этих двух объектов, можно включить управляемые и машинные отладчики в свойствах проекта. Точный способ выполнения этой операции зависит от того, откуда будет начата отладка: из проекта DLL или из проекта вызывающего приложения. Дополнительные сведения см. в разделе Практическое руководство. Отладка в смешанном режиме.
Можно выполнить отладку собственной библиотеки DLL из управляемого вызывающего проекта. Дополнительные сведения см. в статье об отладке управляемого и машинного кода.
См. также
- Отладка управляемого кода
- Подготовка к отладке проектов C++
- Типы проектов C#, F# и Visual Basic
- Параметры проекта для конфигурации отладки C++
- Параметры проекта для конфигураций отладки .NET C#
- Параметры проекта для конфигураций отладки C#
- Параметры проекта для конфигурации отладки Visual Basic
- Безопасность отладчика
Отладка из проекта DLL в Visual Studio (C#, C++, Visual Basic, F#)
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Одним из способов отладки проекта библиотеки DLL является указание вызывающего приложения в свойствах проекта библиотеки DLL. Затем можно запускать отладку из самого проекта DLL. Чтобы этот метод работал, приложение должно вызвать одну и ту же библиотеку DLL в том расположении, которое вы настроили. Если приложение находит и загружает другую версию библиотеки DLL, эта версия не будет содержать точки останова. Другие методы отладки библиотек DLL см. в разделе Отладка проектов DLL.
Если управляемое приложение вызывает собственную библиотеку DLL или ваше собственное приложение вызывает управляемую библиотеку DLL, можно выполнить отладку библиотеки DLL и вызывающего приложения. Дополнительные сведения см. в разделе Практическое руководство. Отладка в смешанном режиме.
Собственные и управляемые DLL-проекты имеют разные параметры для указания вызывающих приложений.
Указание вызывающего приложения в собственном проекте DLL

- Выберите проект C++ DLL в обозревателе решений. Щелкните значок Свойства, нажмите сочетание клавиш ALT+ВВОД или щелкните проект правой кнопкой мыши и выберите элемент Свойства.
- В диалоговом окне Страницы свойств убедитесь, что в поле Настройка в верхней части окна задано значение Отладка.
- Выберите Свойства конфигурации>Отладка.
- В списке Запускаемый отладчик выберите Локальный отладчик Windows или Удаленный отладчик Windows.
- В поле Команда или Удаленная команда добавьте полный путь и имя файла вызывающего приложения, например EXE-файл.
- Добавьте необходимые аргументы программы в поле Аргументы команды.
- Нажмите ОК.
Указание вызывающего приложения в проекте C# или DLL (.NET Core, .NET 5+)

- Выберите проект C# или Visual Basic DLL в обозревателе решений. Щелкните значок Свойства, нажмите сочетание клавиш ALT+ВВОД или щелкните проект правой кнопкой мыши и выберите элемент Свойства.
- Откройте вкладку «Отладка» и выберите пункт Открыть пользовательский интерфейс профилей запуска отладки.
- В диалоговом окне «Профили запуска» щелкните значок Создать новый профиль и выберите Исполняемый файл.
- В новом профиле в разделе Исполняемый файл перейдите к расположению исполняемого файла (.exe) и выберите его.
- В диалоговом окне «Профили запуска» найдите и запишите имя профиля по умолчанию, а затем выберите его и удалите.
- Присвойте новому профилю имя профиля по умолчанию. Чтобы получить такой же результат, можно также вручную изменить файл launchSettings.json. Необходимо, чтобы первый профиль в файле launchSettings.json соответствовал имени библиотеки классов и он был первым указан в файле.
Указание вызывающего приложения в управляемом проекте DLL
- Выберите проект C# или Visual Basic DLL в обозревателе решений. Щелкните значок Свойства, нажмите сочетание клавиш ALT+ВВОД или щелкните проект правой кнопкой мыши и выберите элемент Свойства.
- Убедитесь, что в поле Настройка в верхней части окна задано значение Отладка.
- В разделе Запустить действие
- Для библиотек DLL .NET Framework выберите Запустить внешнюю программу и добавьте полный путь и имя вызывающего приложения.
- Или выберите Запустить браузер с URL-адресом и введите URL-адрес локального приложения ASP.NET.
- У библиотек DLL .NET Core для Visual Basic страница свойств Отладка отличается. Выберите Исполняемый файл из раскрывающегося списка Запуск, а затем добавьте полный путь и имя вызывающего приложения в поле Исполняемый файл.
- Для библиотек DLL .NET Core страница свойств Отладка отличается. Выберите Исполняемый файл из раскрывающегося списка Запуск, а затем добавьте полный путь и имя вызывающего приложения в поле Исполняемый файл.

Отладка из проекта DLL
- Задайте точки останова в проекте DLL.
- Щелкните проект DLL правой кнопкой мыши и выберите Назначить запускаемым проектом.
- Убедитесь, что в поле Конфигурация решений установлено значение Отладка. Нажмите клавишу F5, щелкните зеленую стрелку Запуск или выберите Отладка>Начать отладку.
- Если отладка не достигает точек останова, убедитесь, что выходные данные библиотеки DLL (по умолчанию — папка \Debug) — это расположение, которое вызывает вызывающее приложение.
- Если вы хотите прервать выполнение кода в управляемом вызывающем приложении из собственной библиотеки DLL или наоборот, включите отладку в смешанном режиме.
- В некоторых сценариях может потребоваться сообщить отладчику, где найти исходный код. Дополнительные сведения см. в разделе Использование страниц «Символы не загружены» или «Нет исходного кода».
См. также
- Отладка проектов DLL
- Параметры проекта для конфигураций отладки C#
- Параметры проекта для конфигурации отладки Visual Basic
- Параметры проекта для конфигурации отладки C++
Открыть DLL в visual studio
Как открыть проект созданный в Visual Studio 2012 в Visual Studio 2008?
Нашел здесь же тему открытия Visual Studio 2012 в Visual Studio 2010 там написано так. Открыть.
Как проект на visual studio 2012 открыть на visual studio 2008
Программа(курсовая) создана на 2012, надо показать и чтобы работала на 2008. Подскажите пожалуйста.
Открыть проект Visual Studio 2015 в Visual Studio 2010
Здравствуйте не могу открыть проект созданный в Visual Studio 2015 в Visual Studio 2010.
Администратор
![]()
9423 / 4709 / 760
Регистрация: 17.04.2012
Сообщений: 9,561
Записей в блоге: 14
Reitermaniac, что имеете в виду под «открыть»? Подключить к проекту?
Регистрация: 14.12.2014
Сообщений: 6
Сообщение от tezaurismosis 
Reitermaniac, что имеете в виду под «открыть»? Подключить к проекту?
Работа с кодом.
Администратор
![]()
9423 / 4709 / 760
Регистрация: 17.04.2012
Сообщений: 9,561
Записей в блоге: 14
Сообщение от Reitermaniac 
Работа с кодом
С кодом самой dll? Тогда вам нужен декомпилятор, dotPeek, например.
Регистрация: 14.12.2014
Сообщений: 6
Сообщение от tezaurismosis 
С кодом самой dll? Тогда вам нужен декомпилятор, dotPeek, например.
Уже пробовал. Он не поддерживает её. Так же ещё с кучей декомпиляторов.
Просто мне сказали, что компилировали дллку именно в вижуал студио, там же можно её декомпилировать и работать непосредственно с кодом, в среде студии. А я, со студией, никогда и не работал.
Администратор
![]()
9423 / 4709 / 760
Регистрация: 17.04.2012
Сообщений: 9,561
Записей в блоге: 14
Сообщение от Reitermaniac 
Он не поддерживает её.
Значит она либо на неуправляемом коде, либо защищена. В обоих случаях студия не поможет.
Регистрация: 14.12.2014
Сообщений: 6
Сообщение от tezaurismosis 
Значит она либо на неуправляемом коде, либо защищена. В обоих случаях студия не поможет.
Не особо напрягу вас, если кину её вам, а вы краем глаза на неё глянете? Может я в чём ошибся.
Администратор
![]()
9423 / 4709 / 760
Регистрация: 17.04.2012
Сообщений: 9,561
Записей в блоге: 14
Reitermaniac, кидайте, только на форум загрузите. Сначала её запихните в архив, форум просто dll-ки не кушает.
Регистрация: 14.12.2014
Сообщений: 6
Сообщение от tezaurismosis 
Reitermaniac, кидайте, только на форум загрузите. Сначала её запихните в архив, форум просто dll-ки не кушает.
Правила знаем.
dsetup.rar
Администратор
![]()
9423 / 4709 / 760
Регистрация: 17.04.2012
Сообщений: 9,561
Записей в блоге: 14
Файл не открывается даже ILDasm’ом. Открыл в редакторе — нашёл сишный код и обращения к msvcrt.dll, точно не скажу, но видимо компилировалось из под Visual Studio на C++.
Пробовал через regsvr32, что-то запускается, в логи записывается «Disable game guard fail», но в списке зарегистрированных COM я не могу её найти.
Регистрация: 14.12.2014
Сообщений: 6
Сообщение от tezaurismosis 
Файл не открывается даже ILDasm’ом. Открыл в редакторе — нашёл сишный код и обращения к msvcrt.dll, точно не скажу, но видимо компилировалось из под Visual Studio на C++.
Пробовал через regsvr32, что-то запускается, в логи записывается «Disable game guard fail», но в списке зарегистрированных COM я не могу её найти.
Да, он на си+ и компилен через вижуал 2008.
Так и думал что с ним что то намудрили, не могло быть всё так мутерно и сложно.
Спасибо за подсказки и помощь.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как открыть файлы в формате visual studio .net 2003 в visual studio net 2002?
Возможно ли открыть файлы в формате visual studio .net 2003 в visual studio .net 2002 ?? Илт.

Открыть БД Access в Visual Studio
Здравствуйте, у меня есть БД в Access 2007 , мне нужно перенести ее в Visual Studio 2010, чтобы она.
Visual Studio и автономная DLL
Добрый день, подскажите, как создать полностью автономную DLL, без внешних зависимостей? DLL.
Подключение .dll в Visual Studio 2010
Не могу справиться со студией. Не могли бы Вы подробно, пошагово написать когда и как подключить.
