Нет загруженных символов для этого документа visual studio
Я попробовал следующее.
- убедитесь, что конфигурация отладки, флаг отладки и полная отладочная информация установлены на всех сборках.
- удалить все папки bin и obj и все библиотеки DLL, связанные с проектом со всей моей машины.
- воссоздать проекты, вызывающие проблему с нуля.
- перезагрузка.
У меня есть два WinForms проекты в решении. Один из них загружает отладочную информацию, другой-нет. Они оба относятся к сборке, на которую я пытаюсь получить отладочную информацию точно так же в файле проекта. Есть идеи?
Я хочу добавить здесь, в основном для себя, когда я вернусь, чтобы рассмотреть этот вопрос, что символы не загружаются до загрузки сборки, и сборка не загружается до тех пор, пока она не понадобится. Если точка останова находится в библиотеке, которая используется только в одной функции в main сборка, символы не будут загружены (и он покажет точку останова как не попадает), пока эта функция не будет вызвана.
начать отладку, как только вы прибыли в точку останова или использовать Debug > Break All используйте Debug > Windows > Modules . Вы увидите список всех сборок, загруженных в процесс. Найдите тот, для которого вы хотите получить отладочную информацию. Щелкните его правой кнопкой мыши и выберите Информация о загрузке символа. Вы получите диалоговое окно, в котором перечислены все каталоги, в которых он искал .pdb-файл для сборки. Сверьте этот список с фактическим .расположение ПДБ. Убедитесь, что он не найдет старого.
в нормальных проекты, сборка и ее .pdb-файл всегда должен быть скопирован IDE в ту же папку, что и ваш .исполняемый. Папка bin\Debug вашего проекта. Убедитесь, что вы удалили один из GAC, если Вы играли с ним.
сначала попробуйте перестроить проект, щелкнув правой кнопкой мыши проект > перестроить Если это не сработает, попробуйте очистить проект (щелкните правой кнопкой мыши на проекте > очистить)
Если это не сработало, проверьте это:
- Правой Кнопкой Мыши ваш проект
- выберите [свойства]
- выберите [Build] tab
- убедится [определить константу debug] и [определение Константа трассировки] проверен
- выберите [дополнительно] внизу построить новые
- убедитесь в том, что [Отладочная Информация:] установлено значение [полный]
- клик [OK] и восстановить этот проект ;-)
(Шаг 6 генерирует .pdb файлы, это отладочные символы)
просто что - то простое, чтобы попробовать-вы, возможно, уже пробовали. Щелкните правой кнопкой мыши решение в обозревателе решений, нажмите кнопку "очистить решение", это удаляет все скомпилированные и временные файлы, связанные с решением.
выполните перестроение решения и повторите попытку отладки.
У меня также были проблемы с несколькими проектами точек останова в решении-некоторые скомпилированы как x86, некоторые как x64.
отключите опцию "Только мой код"в настройках Debug/General.
кросспостинг это исправление от Ганс К что я нашел на подобную тему >> здесь :
щелкните правой кнопкой мыши на решении -- > свойства
посмотрите в разделе Общие свойства --> Startup Project
выберите несколько проектов запуска
выберите пуск действий по проектам нужно отлаживать.
выбранный ответ привел меня к исправлению моей проблемы. Но мне нужно сделать еще несколько вещей:
даже с" Debug", выбранным в раскрывающемся списке:
и в свойствах проекта > Build:
Visual Studio не загружала символы в определенный проект. Поэтому в этом раскрывающемся списке я выбираю "Configuration Manager" и вижу, что настройки моего веб-проекта были неверно:
затем я установил это в "Debug", и он начал генерировать . но мне нужно вручную скопировать PDB и DLL и поместить в папку, которую искал VS (вот где мне помог выбранный ответ):
Debug > Windows > Modules чтобы увидеть, какие модули загружаются, поместите меня в правильном направлении.
просто выполните следующие действия:
- на Debug из меню
- нажать на кнопку присоединить к процессу
- возле прикрепить к, нажмите на кнопку выберите
- в Выберите Тип Код
проверьте, если ваш .файл pbd отсутствует в папке bin/Debug. Если это затем перейдите в "свойства" вашего проекта, выберите "построить", а затем "дополнительно" внизу. Выберите "полный" в разделе "отладочная информация" в появившемся новом окне. Это была моя проблема, и я ее решил.
иногда, даже если это дает вам эту ошибку, breakpoint все еще попадает, поэтому просто игнорируйте ошибку. Это происходит довольно часто в Views на MVC web app .
в моем случае" оптимизировать код " был проверен в моих свойствах проекта. Это заставило VS видеть мою сборку как "не мой код", и, в свою очередь, она не загружала символы для нее.
решением было снять этот флажок.
просто проверьте, находится ли ваше решение в режиме выпуска.
попробуйте запустить visual studio в качестве администратора в windows.
вам нужно включить "Generate debug info" в настройках компилятора
опция "начать отладку, отладка + Windows + модули" не существует в Microsoft Visual Studio Express 2013 edition.
сняв "Использовать Режим Управляемой Совместимости" в настройках инструментов отладка исправляет это.
в моем случае я пытаюсь отладить в режиме relase. Как только я изменю его на режим отладки. Его работа
Я пробовал все, что упоминалось выше, но ничего не получилось. [чистое решение, и проверка для файлов ПДБ ЕТК.]
даже публикация того же решения не решила проблему.
затем я вернулся к тому, что я обычно делаю, чтобы решить (обмануть эту упрямую Visual Studio)
все, что я сделал, это намеренно изменить код и опубликовать решение. Затем я вернул изменение и опубликовал его снова.
вуаля [PDB файлы избавления от злых духов].. Не очень разумное решение, но это сработало.. :-|
вместо того, чтобы делать все эти вещи просто
решение это исправит проблему
возможно, Visual Studio не может копировать и заменять существующие файлы (.dll и .ПДБ) рядом .exe, так как есть еще один. Поэтому, если я удалил вручную, VS мог бы создать новый рядом .исполняемый.
Я думаю, что основная причина проблема в том, что Visual Studio использует другой файл во время выполнения, не файл из проекта, с остановкой.
может быть, этот ответ поможет кому-то !
Что нужно проверить, просто чтобы быть ясно: убедитесь, что конфигурация Debug и выхода не. Вы можете отлаживать проект запуска в режиме "Release", но не библиотеку ссылочных классов.
При отладке точка останова может иметь два возможных визуальных состояния:
- Если отладчик может успешно установить точку останова в целевом процессе, она будет отображаться как закрашенный красный кружок.
- Если точка останова отображается как незакрашенный кружок, либо точка останова отключена, либо при попытке установить ее возникло предупреждение.
Чтобы определить причину, наведите указатель мыши на точку останова и проверьте, есть ли предупреждение. В следующих двух разделах описаны наиболее часто возникающие предупреждения и способы их устранения.
"Нет загруженных символов для этого документа"
Перейдите в окно Модули (Отладка > Окна > Модули) и проверьте, загружен ли модуль.
Если модуль загружен, проверьте, загружены ли символы, в столбце Состояние символов.
- Если символы не загружены, проверьте состояние символов для диагностики проблемы. В контекстном меню модуля в окне Модули нажмите Сведения о загрузке символов. , чтобы узнать, откуда отладчик пытался загрузить символы. Дополнительные сведения о загрузке символов см. в статье Указание файлов символов (.pdb) и исходных файлов.
- Если символы загружены, PDB-файл не содержит сведений об исходных файлах. Некоторые возможные причины:
- Если исходные файлы были добавлены недавно, убедитесь в том, что загружается последняя версия модуля.
- Можно создать очищенные PDB-файлы с помощью параметра компоновщика /PDBSTRIPPED. Очищенные PDB-файлы не содержат сведений об исходных файлах. Убедитесь в том, что вы работаете с полным, а не очищенным PDB-файлом.
- PDB-файл частично поврежден. Удалите файл и выполните чистую сборку модуля, чтобы попытаться устранить проблему.
Если модуль не загружен, проверьте следующее, чтобы найти причину:
"… текущий исходный код отличается от версии, построенной в. "
Если исходный файл изменился и исходный код больше не соответствует отлаживаемому коду, отладчик по умолчанию не будет устанавливать точки останова в коде. Как правило, эта проблема возникает, если исходный файл изменился, но исходный код не был перестроен. Чтобы устранить эту проблему, перестройте проект. Если система сборки считает, что проект уже обновлен, даже если это не так, можно принудительно перестроить систему проектов. Перестройте проект, сохранив исходный файл повторно или выполнив очистку выходных данных сборки перед сборкой.
В редких случаях может потребоваться отладка без соответствующего исходного кода. Отладка без соответствующего исходного кода может привести к путанице при отладке, поэтому вы должны быть уверены, что именно это и нужно сделать.
Чтобы отключить проверки безопасности, выполните одно из указанных ниже действий.
- Чтобы изменить отдельную точку останова, наведите указатель мыши на значок точки останова в редакторе и щелкните значок параметров (в виде шестеренки). В редактор добавится окно просмотра. В верхней части окна просмотра есть гиперссылка, указывающая на расположение точки останова. Щелкните гиперссылку, чтобы разрешить изменение расположения точки останова, и установите флажок Разрешить наличие отличий в исходном коде от первоначальной версии.
- Чтобы изменить этот параметр для всех точек останова, выберите Отладка >Параметры и настройки. На странице Отладка / Общие снимите флажок Требовать точного соответствия исходной версии файлов . Не забудьте снова включить этот параметр после завершения отладки.
Точка останова была установлена успешно (без предупреждения), но не сработала
В этом разделе содержатся сведения об устранении неполадок в ситуации, когда отладчик не выводит предупреждений — точка останова представлена закрашенным красным кружком во время отладки, но не срабатывает.
Вот несколько моментов, которые следует проверить.
После удаления точки останова она по-прежнему применяется при запуске отладки
Если удалить точку останова во время отладки, она может снова сработать при очередном запуске отладки. Чтобы прекратить применение этой точки останова, убедитесь, что все ее экземпляры удалены из окна Точки останова .
Файлы базы данных программ (PDB) также называются файлами символов и используются для сопоставления идентификаторов и инструкций в исходном коде вашего проекта с соответствующими идентификаторами и инструкциями в скомпилированных приложениях. С помощью этих файлов отладчик связывается с исходным кодом, что позволяет выполнять его отладку.
При создании проекта из интегрированной среды разработки Visual Studio со стандартной конфигурацией отладочной сборки компилятор создает необходимые файлы символов. В этой статье описывается, как управлять файлами символов в интегрированной среде разработки, а именно:
Подробные сведения о файлах символов см. в следующих статьях:
Принципы использования файлов символов
PDB-файл содержит отладочные данные и сведения о состоянии проекта, позволяющие выполнять инкрементную компоновку отладочной конфигурации приложения. Отладчик Visual Studio использует PDB-файлы для определения двух ключевых элементов информации во время отладки:
- Имя исходного файла и номер строки, которая отображается в интегрированной среде разработки Visual Studio.
- Расположение точки останова в приложении.
В файлах символов также указываются расположение исходных файлов и при необходимости сервер, с которого они будут извлекаться.
Отладчик загружает только те PDB-файлы, которые точно соответствуют PDB-файлам, созданным при построении приложения (то есть исходные PDB-файлы или их копии). Точное дублирование является обязательным, поскольку компоновка приложения может быть изменена даже в том случае, если сам код не изменялся. Дополнительные сведения см. в статье Почему Visual Studio требует, чтобы файлы символов отладчика точно соответствовали двоичным файлам, с которыми они были собраны?
Если требуется выполнить отладку кода за пределами исходного кода проекта, например кода Windows или стороннего кода, вызываемого проектом, необходимо указать расположение PDВ-файлов (и, если необходимо, исходных файлов) для внешнего кода, причем эти файлы должны точно соответствовать сборкам вашего приложения.
Места, в которых отладчик ищет символы
При отладке проекта в интегрированной среде разработки Visual Studio отладчик автоматически загружает файлы символов, которые он может найти по умолчанию.
При отладке управляемого кода на удаленном устройстве все необходимые файлы символов должны находиться либо на локальном компьютере, либо в расположении, указанном в параметрах отладчика.
Отладчик ищет файлы символов в следующих местах:
Расположение, указанное в библиотеке DLL или в исполняемом файле (EXE).
По умолчанию, если на компьютере производится сборка библиотеки DLL или исполняемого файла (EXE), компоновщик помещает полный путь и имя связанного PDB-файла в библиотеку DLL или в EXE-файл. Отладчик проверяет, присутствует ли файл символов в этом расположении.
Папка, в которой располагается сам DLL- или EXE-файл.
Любые расположения, указанные в параметрах отладчика для файлов символов. Сведения о добавлении и активации расположений символов см. в разделе Настройка расположения символов и параметров загрузки.
Любая папка локального кэша символов.
Указанные серверы и расположения символов — локальные, сетевые или в Интернете — такие как серверы символов корпорации Майкрософт, если эта возможность включена. Visual Studio может загружать отладочные файлы символов с серверов символов, которые реализуют протокол symsrv . Visual Studio Team Foundation Server и средства отладки для Windows — это два средства, которые могут использовать серверы символов.
Возможно использование следующих серверов символов:
Серверы символов во внутренней сети или на локальном компьютере Команда разработчиков или компания может создавать серверы символов для собственных продуктов и поддерживать кэш для символов из внешних источников. Можно иметь сервер символов на собственном компьютере.
Сторонние серверы символов Сторонние поставщики приложений Windows и библиотек могут предоставить доступ к серверу символов в Интернете.
При использовании сервера символов, отличного от общедоступных серверов корпорации Майкрософт, следует убедиться в том, что сервер и его путь заслуживают доверия. Поскольку файлы символов могут содержать произвольный исполняемый код, возможно возникновение угроз безопасности.
Настройка расположения файлов символов и параметров загрузки
По умолчанию отладчик выполняет поиск в различных расположениях символов. См. раздел Места, в которых отладчик ищет символы.
На странице Сервис > Параметры > Отладка > Символы можно выполнить следующие действия.
- Укажите и выберите пути поиска для файлов символов.
- Укажите серверы символов для Майкрософт, Windows или сторонних компонентов.
- Указать модули, для которых отладчик будет или не будет автоматически загружать символы.
- Эти параметры можно изменять во время выполнения отладки. См. раздел Загрузка символов при отладке.
Указание расположения символов и параметров загрузки:
В Visual Studio откройте меню Сервис > Параметры > Отладка > Символы (или Отладка > Параметры > Символы).
В разделе Места размещения файлов символов (.pdb) :
Чтобы добавить новое расположение сервера символов:
Поиск выполняется только в указанной папке. Любые вложенные папки, в которых требуется осуществлять поиск, должны быть внесены в список.
Добавление нового расположения сервера символов VSTS:
Чтобы изменить порядок загрузки для расположений символов, используйте клавиши CTRL+СТРЕЛКА ВВЕРХ и CTRL+СТРЕЛКА ВНИЗ либо значки со стрелками вверх и вниз.
Чтобы изменить URL-адрес или путь, дважды щелкните элемент или выберите его и нажмите клавишу F2.
Чтобы удалить элемент, выделите его и щелкните значок - .
Необязательно: чтобы повысить производительность загрузки символов, перейдите в раздел Кэшировать символы в этом каталоге и введите путь к локальной папке, в которую серверы символов могут копировать символы.
Не размещайте локальный кэш символов в защищенной папке, такой как C:\Windows или вложенные папки. Вместо этого следует использовать папку, для которой разрешены чтение и запись.
Если для проекта C++ задана переменная среды _NT_SYMBOL_PATH , она переопределяет значение, заданное в разделе Кэшировать символы в этом каталоге.
Укажите модули, которые отладчик должен загружать из расположений файлов символов (. pdb) при запуске.
Выберите Все модули, кроме исключенных (значение по умолчанию), чтобы загружать все символы для всех модулей, кроме тех, что были явно исключены. Чтобы исключить конкретные модули, выберите Укажите исключенные модули, щелкните значок + , введите имена исключаемых модулей и нажмите кнопку ОК.
Чтобы загружать из расположений файлов символов только заданные модули, выберите Загружать только указанные модули. Выберите Укажите включенные модули, щелкните значок + , введите имена включаемых модулей и нажмите кнопку ОК. Файлы символов для других модулей не загружаются.
Другие параметры символов для отладки
Для настройки дополнительных параметров символов перейдите в раздел Сервис > Параметры > Отладка > Общие (или Отладка > Параметры > Общие):
Загружать экспорты из DLL (только машинный код)
Загружает таблицы экспорта библиотеки DLL для C/C++. Дополнительные сведения см. в разделе Таблицы экспорта библиотеки DLL. Поскольку на чтение данных экспорта для библиотеки DLL затрачиваются определенные ресурсы, по умолчанию загрузка таблиц экспорта отключена. Кроме того, вы можете использовать dumpbin /exports в командной строке сборки C/C++.
Включить отладку на уровне адреса и Показывать дизассемблированный код, если исходный код недоступен
Дизассемблированный код отображается во всех случаях, когда исходные файлы или файлы символов не найдены.
Включить поддержку сервера системы управления версиями
Если исходный код на локальном компьютере отсутствует или PDB-файл не соответствует исходному коду, при отладке приложения используется сервер системы управления версиями. Сервер системы управления версиями принимает запросы на файлы и возвращает сами файлы из этой системы. Сервер системы управления версиями использует для работы библиотеку srcsrv.dll, которая нужна для чтения PDB-файла приложения. Этот PDB-файл содержит указатели на репозиторий исходного кода, а также команды, используемые для получения исходного кода из репозитория.
Чтобы ограничить набор команд, которые библиотека srcsrv.dll может исполнять из PDB-файла приложения, можно включить список допустимых команд в файл srcsrv.ini. Поместите файл srcsrv.ini в ту же папку, что и файлы srcsrv.dll и devenv.exe.
В PDB-файл приложения можно внедрять произвольные команды, поэтому убедитесь, что в файл srcsrv.ini включены только те из них, которые требуется выполнять. Любая попытка выполнить команду не из файла srcsvr.ini вызовет диалоговое окно подтверждения. Дополнительные сведения см. в статье Предупреждение системы безопасности. Отладчик должен выполнить команду без доверия.
Параметры команд не проверяются, поэтому будьте внимательны с доверенными командами. Например, если вы включили команду cmd.exe в файл srcsrv.ini, пользователь-злоумышленник может указать параметры, которые сделают выполнение команды cmd.exe опасным.
Выберите этот элемент и нужные дочерние элементы. Параметры Разрешить выполнение частично доверенных сборок (только управляемых) на сервере системы управления версиями и Всегда выполнять ненадежные команды исходного сервера без запроса могут повысить риски безопасности, описанные выше.
Параметры символов для компилятора
Если при выполнении сборки проекта из интегрированной среды разработки Visual Studio используется стандартная конфигурация сборки Отладка, компилятор C++ и управляемые компиляторы создают соответствующие файлы символов для кода. Параметры компилятора также можно задать в коде.
Сведения о настройке параметров компилятора для конфигураций сборки в Visual Studio см. в статье Настройка конфигураций отладки и выпуска в Visual Studio.
Параметры C/C++
PDB-файл для C/C++ создается при сборке с параметрами /ZI или /Zi. В Visual C++ параметр /Fd присваивает имя PDB-файлу, который создается компилятором. При создании проекта в Visual Studio с использованием интегрированной среды разработки используется параметр /Fd с целью создания PDB-файла с именем .pdb.
При сборке приложения, написанного на C/C++, с использованием файла makefile и указанием параметра /ZI или /Zi без /Fd компилятор создает два описанных ниже PDB-файла:
VC.pdb, где представляет версию компилятора Microsoft C++, например VC11.pdb.
Файл VC.pdb хранит все отладочные данные для отдельных объектных файлов и располагается в том же каталоге, что и файл makefile проекта. Каждый раз, создавая объектный файл, компилятор C/C++ добавляет отладочную информацию в файл VC.pdb. Поэтому, даже если исходный файл включает общие файлы заголовков, такие как , определения типов (typedef) из этих заголовков сохраняются только один раз, а не включаются в каждый объектный файл. Вставляемая информация включает информацию о типах, но не включает символьную информацию, такую как определения функций.
Файл .pdb содержит все отладочные данные из EXE-файла проекта и располагается в подкаталоге \debug. Файл .pdb содержит полные отладочные данные, включая прототипы функций, а не только сведения о типах, содержащиеся в файле .pdb.
Файлы VC.pdb и .pdb поддерживают добавочные обновления. Компоновщик также включает путь к PDB-файлам в EXE-файл или DLL-файл, которые он создает.
Таблицы экспорта библиотеки DLL
В выходных данных команды dumpbin /exports можно увидеть точное имя функции, включая символы, отличные от буквенно-цифровых. Просмотр точных имен функций полезен для задания точки останова в функции, поскольку в отладчике имена функций могут быть усечены в других местах. Дополнительные сведения см. в разделе dumpbin /exports.
Веб-приложения
Загрузка символов при отладке
Для загрузки символов или изменения параметров символов во время отладки можно использовать окна Модули, Стек вызовов, Локальные, Видимые или Контрольные значения. Дополнительные сведения см. в разделе Дополнительные сведения о присоединении отладчика к приложению.
Работа с символами в окне "Модули"
В процессе отладки в окне Модули можно узнать, какие модули будут рассматриваться отладчиком в качестве пользовательского кода (или "моего кода"), а также проверить состояние загрузки символов для них. Кроме того, в окне Модули вы можете отслеживать состояние загрузки символов, загружать символы и изменять параметры символов.
Отслеживание или изменение расположений и параметров символов во время отладки:
- Чтобы открыть окно Модули во время отладки, выберите Отладка >Окна >Модули (или нажмите клавиши CTRL + ALT + U).
- В окне Модули щелкните правой кнопкой мыши заголовки Состояние символов или Файл символов либо любой модуль.
- В контекстном меню выберите один из следующих вариантов:
Использование страниц "Символы не загружены" или "Нет исходного кода"
Отладчик может прервать выполнение в коде, для которого отсутствуют файлы символов или исходные файлы, в результате любого из следующих событий:
- Шаг с заходом в код.
- Приостановка выполнения кода из-за точки останова или исключения.
- Переключение на другой поток.
- Изменение кадра стека двойным щелчком по кадру в окне Стек вызовов.
Когда происходит любое из этих событий, отладчик отображает страницу Символы не загружены или Нет исходного кода, чтобы помочь найти и загрузить необходимые символы или исходный код.
Использование страницы "Символы не загружены" для поиска и загрузки отсутствующих символов:
Если отладчик находит PDB-файл после выполнения одного из этих действий и может извлечь исходный файл на основании информации в PDB-файле, отображается исходный код. В противном случае отображается страница Нет исходного кода, на которой описывается проблема и приводятся ссылки на действия, которые могут решить ее.
Добавление путей поиска исходных файлов в решение:
Вы можете указать расположения, в которых отладчик будет искать исходные файлы, а также исключить из поиска определенные файлы.
Выберите решение в обозревателе решений и затем щелкните значок Свойства, нажмите клавиши ALT+ВВОД либо щелкните это решение правой кнопкой мыши и выберите пункт Свойства.
Выберите Исходные файлы отладки.
В разделе Каталоги, содержащие исходный код введите или выберите расположения исходного кода для поиска. Щелкните значок Новая строка для добавления дополнительных расположений, значки со стрелками вверх и вниз для изменения их порядка либо значок X для их удаления.
Отладчик выполняет поиск только в указанном каталоге. Любые подкаталоги, в которых требуется осуществлять поиск, должны быть внесены в список.
В разделе Не выполнять поиск следующих исходных файлов введите имена исходных файлов, исключаемых из поиска.
На этой странице приведены пошаговые инструкции по устранению распространенных ошибок, возникающих при использовании команды "Прервать выполнение при изменении значения".
Диагностика ошибок "Не удалось задать точку останова в данных"
Ниже приведен список ошибок, которые могут возникнуть при использовании управляемых точек останова в данных. В нем содержатся дополнительные пояснения причин ошибок и возможные решения или обходные пути для их устранения.
"Используемая целевым процессом версия .NET не поддерживает точки останова в данных. Для них требуется .NET Core 3.x или .NET 5.0.3 или более поздних версий на платформе x86 или x64"
"Не удается найти значение в управляемой куче и отследить его".
Переменная объявлена в стеке.
- Установка точек останова в данных для переменных, созданных в стеке, не поддерживается, так как такая переменная станет недействительной после выхода из функции.
- Инструкции по решению: Устанавливайте точки останова в строках, где используется переменная.
Команда "Прервать выполнение при изменении значения" выполняется для переменной, которая отсутствует в раскрывающемся списке.
- Объект, содержащий подлежащее отслеживанию поле, должен быть известен отладчику. Сборщик мусора может перемещать объект в куче, поэтому отладчик должен знать, какой объект содержит подлежащую отслеживанию переменную.
- Инструкции по решению: Если вы находитесь в методе объекта, в котором нужно установить точку останова в данных, перейдите на один кадр вверх и используйте окно locals/autos/watch , чтобы развернуть объект и установить точку останова в нужном поле.
"Точки останова в данных не поддерживаются для статических полей и статических свойств".
- Статические поля и свойства в настоящее время не поддерживаются. Если вам нужна эта функция, отправьте отзыв.
"Отслеживание полей и свойств структур невозможно".
- Поля и свойства структур в настоящее время не поддерживаются. Если вам нужна эта функция, отправьте отзыв.
"Значение свойства изменилось, и его больше нельзя отслеживать".
- Способ вычисления свойства может измениться во время выполнения. В этом случае число переменных, от которых зависит свойство, увеличивается и может превысить аппаратное ограничение. Ознакомьтесь с "The property is dependent on more memory than can be tracked by the hardware." ниже.
"Свойство зависит от большего объема памяти, чем может отследить оборудование".
- Каждая архитектура имеет определенное поддерживаемое количество байтов и аппаратных точек останова, а свойство, для которого требуется установить точку останова, превышает это ограничение. Сведения о том, сколько точек останова в данных и байтов поддерживается аппаратно для используемой архитектуры, см. в таблице Аппаратные ограничения на количество точек останова в данных.
- Инструкции по решению: Установите точку останова для значения, которое может измениться в свойстве.
"Класс X имеет пользовательское представление отладчика, которое блокирует использование точек останова в данных, относящихся только к нему"
- Точки останова в данных поддерживаются только в памяти, созданной целевым процессом (отлаживаемым приложением). Память, в которой устанавливается точка останова в данных, помечена как возможно принадлежащая объекту, созданному атрибутом DebuggerTypeProxy или другим объектом, не являющимся частью целевого процесса.
- Возможное решение: разверните базовое представление объекта (или объектов) вместо представления DebuggerTypeProxy объекта, а затем установите точку останова в данных. Таким образом точка останова в данных гарантированно не окажется в памяти, принадлежащей объекту, созданному атрибутом DebuggerTypeProxy.
Аппаратные ограничения на количество точек останова в данных
Архитектура (конфигурация платформы), в которой выполняется программа, имеет ограниченное количество точек останова в данных, поддерживаемое аппаратно. В таблице ниже указано, сколько регистров можно использовать в той или иной архитектуре.
Архитектура Число точек останова в данных, поддерживаемых аппаратно Максимальный размер в байтах x86 4 4 X64 4 8 ARM 1 4 ARM64 2 8 Предоставление отзыва
У меня действительно есть проблема, у меня есть решение VS 2010, и он внезапно прекратил отладку для ссылочных проектов, я просто могу отладить запуск проекта, но не добавил в качестве ссылки. Это странно, потому что я создал новое решение, добавил два проекта, а затем отладил оба успешно, сделал это, чтобы увидеть, был ли мой VS config неправильным, но nop, это что-то на этом конкретном решении, которое не позволяет мне отлаживать ссылочные проекты.
Я прочитал все возможных решений от этого форума и других источников, таких как Microsoft. Если я перейду в меню Debug - > windows - > Modules, те, которые я хочу отладить, не находятся в списке.
Итак, я прочитал страницу Microsoft о том, как вручную загружать символы, я сделал следующее:
чтобы указать каталог, в котором находятся файлы символов
в меню Сервис выберите пункт Параметры.
в диалоговом окне Параметры откройте узел отладка и выберите Атрибутика.
на странице символы есть поле, в котором указан файл символов (.распределительная плата) места. Над коробкой четыре значка.
щелкните значок папки.
редактируемый текст отображается в файле символов (.pdb) расположение box.
введите путь к каталогу. Завершение выписки поможет вам найти правильный формат.
Если вы делаете удаленную отладку, файлы символов и сервер символов кэши для управляемого кода должны быть расположен на удаленном компьютере. Символ файлы и кэши сервера символов для собственного кода должны быть расположены на локальный компьютер.
Если вы используете символы на удаленном сервере, вы можете улучшить производительность путем указания локального каталога, в который можно копировать символы к. Для этого введите путь в символах кэша в этом каталоге коробка. При отладке программы на удаленном компьютере кэш каталог - это каталог на удаленном компьютере.
нажмите OK.
Это не сработало, я все еще не вижу модули, которые я хочу загрузить.. есть идеи, друзья ?
Читайте также: