Я хочу використовувати символи налагодження, але я отримую таку помилку:
у цій папці не знайдено відповідного файлу символів
Що це за проблема і як її вирішити?
Я хочу використовувати символи налагодження, але я отримую таку помилку:
у цій папці не знайдено відповідного файлу символів
Що це за проблема і як її вирішити?
Відповіді:
Одна з речей, з якою я стикався, - це те, що налагодження було вимкнено в проекті, на який посилається код, де живе код. У моєму випадку я зробив нову конфігурацію під назвою "Розробник" і за замовчуванням налагодження було вимкнено.
pdbфайл, я отримую цю сумно відому помилку.
У мене була та ж проблема, що і @DmainEvent. Очевидно, що dll, який я використовував, був не такою ж версією pdb, який я щойно скомпілював, тому я отримав повідомлення про помилку.
Якщо у вас є ця проблема, спробуйте використовувати dll і pdb з одного запуску компіляції.
Я зіткнувся з цією проблемою, і відповідь була проста.
Visual studio має два параметри рівня проекту, які можуть створювати файли .pdb.
Ви хочете №1 для налагодження. Забудьте про No2. Дайте файлу №2 інше ім’я, ніж файлу №1, щоб вирішити цю помилку.
Не знаю, чому Microsoft визначає №2 як файл .pdb. Це просто бентежить.
Я перепробував всі можливі рішення, в кінці кінців він працював , коли я відключив опцію Enable native code debuggingпід Debugger enginesз Properties > Debug.
Я отримав помилку: "відповідний файл символів не знайдено в цій папці" у вікні Налагодження => Модулі навіть після того, як і DLL, і PDB були доступні та побудовані разом, тому мені не вдалося налагодити цільову DLL, на яку посилається мій основний проект.
Опублікувавши це тут на випадок, якщо це допоможе комусь переглядати збірку "Змішана платформа" для цільової DLL. Я зробив дві речі, щоб обійти це:
У рішенні, що використовує цільову бібліотеку DLL, зніміть прапорець біля пункту «Просто мій код» у «Інструменти» => «Параметри» => «Налагодження» => «Загальне»> «Увімкнути лише мій код» (JMC).
Поставте прапорець «Увімкнути налагодження власного коду» у цільовому рішенні DLL у відповідних властивостях проекту => Налагодження.
Без більш детальної інформації про те, що ви робите, важко вийти за рамки "налагоджувач шукає файл символів, який відповідає скомпільованому коду, і не зміг знайти його в папці, де живе скомпільований код".
Деякі речі, над якими слід подумати:
Подумайте про роз’яснення свого питання, якщо хочете отримати кращу відповідь. Особливо, що ви маєте на увазі під фразою "Я хочу використовувати символи".
Ну, рішення залежить від вашої конкретної проблеми. Я спробував усе, що можна знайти на Stackoverflow та інших сайтах. Однією з ниток, яку я прослідував, є ця . Це теж не допомогло. Проблема була вирішена одразу, коли я помітив, що мій виконуваний проект не містить посилання на бібліотеку, яку я хотів налагодити. Тож я щойно додав посилання на цей проект.
** PS: ** Ця проблема може також виникнути, оскільки збірка, на яку посилається виконувана збірка, може не збігатися з такою в посиланнях. Тож у такому випадку ви просто видалите вже наявне посилання та додасте нове.
Сподіваюся, це допомагає!
Я виправив свої символи налагодження, змусивши їх збігатися за допомогою цього інструменту:
Отже, моя проблема полягала в тому, що я намагався налагодити свій проект, і налагоджувач не міг зайти до внутрішніх джерел самородків. У мене були вихідні файли проекту nuget. Проте візуальна студія не приймала файли pdb, я намагався їх показати. Показується така ж помилка:
у цій папці не знайдено відповідного файлу символів
Отже, я додав це у файл .proj проекту nugets:
<DebugType>full</DebugType>
І знову створив файл dll і pdb за допомогою опції відновлення. У командному рядку я запустив:
.\ChkMatch.exe -m name_of_your.dll name_of_your.pdb
Він сказав це:
Запис у файл інформації про налагодження ... Результат: Успіх.
Великий успіх! Отже, далі я посилався на цю dll, а не на проект, який намагався налагодити. Я працював, коли намагався знову завантажити символ.
Сподіваюся, це допоможе.
Для проектів BizTalk (та інших) це може бути тому, що існує версія збірки, яку ви намагаєтеся налагодити вже в GAC. Коли ви запускаєте модульний тест або натискаєте F5 для налагодження, нова версія компілюється локально. Однак використовується версія в GAC, і нещодавно створений PDB не відповідає DLL в GAC.
Одним із шляхів цього є скасування вибору збірки для всього, крім вашого тестового проекту модуля, за допомогою диспетчера конфігурацій, як показано нижче:
Те саме трапляється зі мною, оскільки файл .pdb проекту не скопійований до debug\Binпапки, тому символи не можуть бути завантажені з файлу .pdb.
Ви повинні відновити свій проект і вручну скопіювати символи (файл .pdb) у debug\Binпапку виконуваного проекту.
Я намагався завантажити символи для встановленого пакета nuget, опублікованого на нашому локальному сервері розробників. Мені довелося видалити та додати звичайне посилання, побудоване з коду. Це спрацювало для мене. Просто пам’ятайте, встановіть оригінальний пакет nuget знову після закінчення налагодження.
netcoreapp2.0наnet4.7, налагодження більше не працювало. Однак, змінивши ...-> Додатково -> Вивід -> Інформація про налагодження: від,portableщобfullвиправити це. Дякую!