Не удается отладить - «Точка останова в настоящий момент не будет достигнута. Для этого документа не было загружено ни одного символа» - PullRequest
16 голосов
/ 23 декабря 2008

Я получаю сообщение об ошибке в строке темы. Я запускаю vs2k8 на сервере 2k3sp2. Я попытался удалить pdbs, каталоги кеша, убедившись, что отладка настроена на конкретной странице. Интересно, что другие страницы отлаживаются просто отлично. Просто когда я иду на эту страницу. Должна быть проблема конфигурации, но директива страницы выглядит так:

print ("<% @ Page Language = 'C #' AutoEventWireup = 'true' CodeBehind = 'MemberSearch.aspx.cs' Inherits = 'SurencyPortal.EmployerPortal.MemberSearch' Debug = 'true'%>");

Я также заметил, что при отладке, если я открываю окно модулей, почти все символы показывают статус «Символ не загружен». Тем не менее, после более подробного изучения статьи MSDN ниже, в одном из постов MSFT говорится, что если это ядро ​​.net dll, оно не будет загружать символы, поэтому я не беспокоюсь об этом. Некоторые из модулей Microsoft (например, System.Enterpricesservices.wrapper.dll) показывают восклицательный знак с сообщением «модуль не загружен по адресу загрузки по умолчанию». Не уверен, почему эта dll существует, поскольку я не знаю ни одного вызова к ней.

Вот что я пробовал:

Точка останова не подключается при отладке в VS.Net 2005

http://social.msdn.microsoft.com/Forums/en-US/vbide/thread/557fdedb-268e-48a8-9944-29b2b4e0dec2/#page:3

Bill

Ответы [ 6 ]

9 голосов
/ 23 февраля 2009

Единственный раз, когда я сталкиваюсь с подобной проблемой, это когда я пытаюсь отладить, когда проект находится в режиме выпуска.

4 голосов
/ 23 декабря 2008

Обычно я вижу эту ошибку, когда работаю с двумя отдельными веб-сайтами. У меня есть веб-интерфейс и веб-сервис. Если сервер разработки не работает для «сайта», для которого предназначен файл кода, вы получите это сообщение об ошибке.

Это может быть не совсем вашей проблемой, однако обычно это происходит, когда я вижу это сообщение об ошибке. Еще одна вещь, которую вы можете сделать, это Debug -> Attach to Process, если отладчик не подключен к правильному процессу.

3 голосов
/ 25 декабря 2008

Поместите встроенный оператор break , чтобы убедиться, что вы действительно выполняете код. Если вы не остановитесь, скорее всего, код, который вы пытаетесь отладить, просто не запускается или вы не отлаживаете его с помощью управляемого отладчика.

Если вы остановитесь, но не сможете найти источник, то, скорее всего, у вас нет pdb для модуля. Проверьте верхнюю часть окна callstack, чтобы увидеть, какая сборка содержит метод, в котором вы остановились. Это сборка, для которой вам нужен pdb. Окно модуля покажет расположение на диске этой сборки. Инструмент командной строки "dumpbin -headers assembly.dll" выведет PE-заголовки. Проверьте каталог отладки, чтобы увидеть, где находился pdb при сборке. Если каталог отладки не существует, то сборка была собрана без отладочной информации. Если это так, то ваша проблема состоит в том, чтобы определить, почему именно эта сборка была собрана без отладочной информации. Если он имел отладочную информацию и pdb существует, но не загружается, то это означает, что либо pdb не был найден отладчиком, и вам следует посмотреть настройки tools \ options \ debug \ symbol. Или pdb и сборка не совпадают. Если временные метки не находятся в пределах 1 секунды, то они, безусловно, не совпадают.

Если вышеприведенное не помогло, пожалуйста, обновите информацию.

2 голосов
/ 23 декабря 2008

Обычно это происходит, когда файлы .pdb, которые VS использует для отладки, отличаются от того, что на самом деле выполняет код. То есть, если вы внесли изменения в свою сборку.
Также убедитесь, что у вас есть <compilation debug="true"> в файле web.config. Я не знаю, имеет ли это какое-либо отношение к директиве страницы, но обычно это то, что делает это для меня:)

1 голос
/ 23 декабря 2008

Я согласен, что я видел это, когда у меня есть несколько несинхронизированных сборок и / или один или несколько pdbs не соответствуют источнику. В моем случае это было потому, что у меня была странность с моим программным обеспечением для контроля версий (ClearCase), и я на самом деле не собирал то, что я думал.

0 голосов
/ 28 октября 2014

Если у вас есть проект «WebSite», а не «WebApplication», я обнаружил, что пересекающиеся классы файлов кода могут вызвать проблему. Есть несколько способов, которыми это может произойти. К сожалению, Visual Studio по-прежнему компилирует решение / проект без ошибок.

  1. Перемещение страниц между папками на веб-сайте.
  2. Слияние исходного кода после перемещения страниц может привести к дублированию страниц, и Visual Studio будет сбит с толку во время отладки.
  3. Копирование и вставка существующих страниц (шаблонов) также может вызывать это из памяти.

Чтобы решить проблему, я

  1. Поиск «Class TheProblemPageCodeSymbolIssue» для дубликатов в решении.
  2. Повторно проанализировал этот дублированный код за именами классов и протестировал все эти страницы, чтобы убедиться, что я могу использовать точки отладки.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...