Настольное приложение C# на экспресс-версии. Работало, а через 5 секунд перестало работать.
Я пробовал следующее.
У меня есть два WinForms проекта в решении. Один из них загружает отладочную информацию, другой - нет. Они оба ссылаются на сборку, для которой я пытаюсь получить отладочную информацию, совершенно одинаковым образом в файле проекта. Есть идеи?
Я хочу добавить здесь, в основном для себя, когда я вернусь к рассмотрению этого вопроса, что символы не загружаются, пока не загружена сборка, а сборка не загружается, пока она не нужна. Если точка останова находится в библиотеке, которая используется только в одной функции в вашей основной сборке, символы не будут загружены (и это покажет, что точка останова не была достигнута), пока эта функция не будет вызвана.
Начните отладку, как только вы'дошли до точки останова или использовали Debug > Break All
, используйте Debug > Windows > Modules
. Вы увидите список всех сборок, загруженных в процесс. Найдите сборку, для которой вы хотите получить отладочную информацию. Щелкните ее правой кнопкой мыши и выберите Symbol Load Information. Вы получите диалоговое окно со списком всех каталогов, в которых искался .pdb-файл для сборки. Сверьте этот список с фактическим расположением .pdb. Убедитесь, что он не нашел старый.
В нормальных проектах сборка и ее .pdb файл всегда должны быть скопированы IDE в ту же папку, что и ваш .exe. Папка bin\Debug вашего проекта. Убедитесь, что вы удалили ее из GAC, если вы'играли с ней.
Сначала попробуйте перестроить ваш проект, щелкните правой кнопкой мыши проект > восстановить Если это не'т работу, попробуйте почистить проекта (правой кнопкой мыши на проекте > чисто)
Если это не'т работу, проверьте это:
(Шаг 6 генерирует .файлы pdb, эти символы отладки)
Просто попробуйте кое-что простое - возможно, вы уже пробовали это сделать. Щелкните правой кнопкой мыши решение в проводнике решений, нажмите "очистить решение", это удалит все скомпилированные и временные файлы, связанные с решением.
Пересоберите решение и попробуйте отладить его снова.
У меня также были проблемы с точками останова для нескольких проектов в решении - некоторые скомпилированы как x86, некоторые как x64.
Отключить "Просто мой код и" опция в debug/Общие настройки.
Кросспостинг это исправить Ганс к, что я нашел на подобную тему >> здесь <<:
и GT; Правой Кнопкой Мыши на решение --> Свойства
Смотри под общим свойства --> стартап-проект
выберите несколько запускаемых проектов
выберите пуск действия на проектах для отладки.
Выбранный ответ привел меня в решении моей проблемы. Но мне нужно сделать несколько вещей больше:
Даже с "отладка" на выбранного в гриде.
И в свойствах проекта > построить:
В Visual Studio не загружается символов к конкретному проекту. Так что в этом выпадающем меню выбрать "в Диспетчере конфигурации" и увидел, что настроек на мой веб-проект был неправильным:
Затем я установил, что, чтобы "отладка" и он начал генерировать .файл pdb
.
Но мне нужно вручную скопировать pdb и. dll и положить в папку, что против было смотреть (вот где выбранный ответ помог мне):
"Отладка" > "окна" и GT; "модули", чтобы увидеть, какие модули были загружены поставить меня в правильном направлении.
В моем случае IIS Экспресс, казалось, загрузки разных файлов из временных файлов ASP.NET .
Решение?
Я был в состоянии исправить ошибку, просто установив параметр в 'присоединение к процессу' до 'автоматически определять тип кода для отладки' опции как показано на скриншоте.
Просто следуйте инструкциям ниже:
Проверьте, если ваш .PBD файл отсутствует в папке bin/отладки. Если после этого поехать, чтобы "на" свойств; вашего проекта, выбран и"строить" и потом "продвинутые" и внизу. Выбрать "по полной" под "и отладочная информация" в новом окне, которое появилось. Это была моя проблема, и решена она для меня.
Иногда, даже если он дает вам эту ошибку, точки останова
все равно попадает, так что просто игнорировать ошибку. Это происходит довольно часто в вид
из веб-приложения MVC
.
Просто проверить, является ли ваше решение в режиме release.
В моем случае я пытаюсь отладки в режиме разблокировки. После того, как я изменить его в режиме отладки. Его работы
Мы нашли причину нашей проблемы. Этот код использовал в "отделенного кода" и атрибут в директиве странице .файл aspx, а не от "CodeFile" и атрибут (ASP.NET 2.0 и выше). После нескольких дней отчаяния, простой поиск и замена решила проблему.
Я попробовал все вышеперечисленное, но ничего не получалось. [Чистый раствор, и проверьте файлы pdb и т. д.]
Даже издание такое же решение не решить эту проблему.
Затем я вернулся к тому, что я обычно делаю, чтобы решить (дурак такой упрямый визуальной студии)
Все, что я сделал, чтобы сделать преднамеренные изменения в код и опубликую решение. Потом я вернулась изменения и снова опубликовал.
Вуаля [pdb-файлы от злых духов].. не идеальным разрешением, но это сработало.. :-|
Ни один из этих ответов решить мою проблему. Я попробовал другую вещь, основанные на том, что проект с остановкой там'т на самом деле загруженным проектом. Я нашел как Ганс проходе писал, что .DLL, где я хочу, чтобы остановить отладчик и associoated .pdb файлы куда копируются возле .exe-файла. Эти файлы имели старую дату, так что я думал, что они были'т обновлены во время выполнения. Я вручную удалил их, в Visual Studio создать еще одну пару и поставить эту новую пару в районе .ехе. Теперь breakpoins работает !
Может быть, визуальная студия не может скопировать и заменить существующие файлы (.DLL и .ПДБ) рядом .ехе так как там еще есть. Так что если я удалил вручную, то против удалось создать новый рядом .ехе.
Я считаю, что изменения (чеки и так далее - с другой ответов) срабатывает что-то и скопировал и заменил DLL и pdb-файл из папки проекта в папку рядом с exe, поэтому это было решение.
Я думаю, что коренная причина проблемы заключается в том, что использовать Visual студии другой файл во время выполнения, нет файла проекта, с остановкой.
Может быть, этот ответ поможет кому-то !