Подтвердить что ты не робот

Отладка с помощью различных решений в Visual Studio

В настоящее время у меня есть решение A, которое содержит базу уровня домена и решение B, которые ссылаются на двоичные файлы из решения A. Есть ли способ отладки прямо друг от друга с двумя экземплярами открытой визуальной студии (по одному для каждого решения). Я читал, что вы можете просто добавить существующие проекты из решения A в решение B. Существует ли какое-либо другое решение? Я попытался напрямую подключить решение A к исполняемому исполняемому файлу в решении B, но он не позволит мне подключить несколько отладчиков к одному и тому же приложению.

Я должен отметить, что когда я вхожу в кусок, он автоматически выводит код из решения A в экземпляр Visual Studio Visual Studio для отладки. Я полагаю, это приемлемо, но вы не можете просто установить произвольные точки останова и подождите, пока код ударит их таким образом.

Спасибо

4b9b3361

Ответ 1

Невозможно иметь два экземпляра Visual Studio для отладки одного и того же процесса. Это ограничение Windows и большинства других операционных систем, в которых не более одного процесса можно отлаживать другое.

Это полностью поддерживаемый сценарий, но для отладки двоичных файлов, которые не являются частью вашего решения. Как вы уже отметили, вы можете с радостью вступить в двоичные файлы из решения B во время отладки из решения A.

Один элемент, который будет иметь место здесь, - это функция отладки под названием "Только мой код". Это функция, направленная на минимизацию опыта отладки только кода в вашем решении. Отлично подходит для обычных решений, но плохо, когда вы отлаживаете произвольные двоичные файлы. Вероятно, это вызывает множество проблем вокруг точек останова, которые вы видите. Вы хотите отключить его, выполнив следующие

  • Инструменты → Параметры → Отладка
  • Отключено "Включить только мой код"

Ответ 2

У вас может быть только один отладчик, отлаживающий процесс сразу. Таким образом, это означает, что вам нужен только один экземпляр Visual Studio open.

Однако вы можете просто открыть файл .cpp/.cs/whatever из решения B в Solution Копия Visual Studio и установить контрольные точки. Он все равно будет работать, даже если эти файлы фактически не являются частью решения.

Ответ 3

Что делать, если вы явно загружаете символы из решения A?

Если вы перейдете в Инструменты- > Параметры- > Отладка- > Символы, вы можете указать его в файле .pdb из решения A.

Затем вы можете увидеть, загружены ли символы из ваших двоичных файлов, перейдя в Debug- > Windows- > Modules во время отладки.

Ответ 4

Это может быть поздно, но для тех, кому все еще нужно настоящее и простое решение. Просто измените свойства решения, чтобы использовать параметр Несколько запущенных проектов и задайте, какой проект запускаться одновременно.

Следуйте по этой ссылке

Отладка нескольких проектов в одно и то же время в Visual Studio

Ответ 5

Для этого есть простое исправление.

Откройте оба файла решения и запустите его. Остановите второй экземпляр решения, который вы хотите приложить для обработки, но убедитесь, что порты запущены. Теперь вы можете присоединить процесс порта к первому экземпляру решения и отлаживать, как магия.

Ответ 6

Вот что я сделал.

Скажите, что проект из решения A относится к проекту из решения B, и я хочу отлаживать проект решения B из проекта Solution A.

Откройте решение B в Visual Studio. Задайте свойства проекта "Использовать локальный сервер IIS Wb", установите Url проекта и создайте Virtual Directory.

Откройте решение A в другом экземпляре Visual Studio. Задайте свойства проекта "Использовать локальный сервер IIS Wb" и установите флажок "Использовать IIS Express", установите Url проекта и создайте Виртуальный каталог.

Нажмите F5 и начните отладку экземпляра решения B Visual Studio. Затем нажмите F5 и начните отладку решения. Экземпляр Visual Studio. Теперь оба экземпляра Visual Studio будут в режиме отладки. Начните с решения A сейчас, и вы должны иметь возможность отлаживать решение B так же, как если бы оба проекта находились в одном и том же решении.

Ключевым моментом здесь является "Использовать IIS express" для одного и "Локальный веб-сервер IIS" для другого проекта. Это позволит вам сразу запустить два отладчика.

Ответ 7

Убедитесь, что .dll и .pdb находятся в корзине. Вы сможете отлаживать другое решение, открытое в другой Visual Studio.

Обычно у нас есть папка (например, Dependencies), на которую ссылаются dll. Поместите dll в эту папку. Dlls будут перенесены в эту папку, когда мы создадим ссылочный проект (используя события Build, есть и другие способы).