ilostmyid2 Ответов: 2

Точка останова не попадает в VS2017


У меня есть решение, которое переносится с VS (Visual Studio) 2010 на VS2017 с одной машины на другую. Я мог бы отлаживать, пока не могу. Мне нужно знать, в чем проблема. При запуске я вижу, что метки точек останова изменяются, чтобы включить предупреждение, но я не могу найти, что может быть неправильно. Кажется, что все в порядке. Код написан на языке C#.

Что я уже пробовал:

Я убедился, что константы отладки и трассировки определены. Я также использую режим отладки.

[no name]

"При запуске я вижу, что метки точек останова изменяются, чтобы включить предупреждение": а предупреждающее сообщение есть?

ilostmyid2

Точка останова в данный момент не будет достигнута. Для этого документа не было загружено никаких символов.

2 Ответов

Рейтинг:
1

OriginalGriff

Начните с проверки режима сборки: установлен ли он на отладку в строке меню или на выпуск?
Затем проверьте, как вы начинаете выполнение: F5-отладка, CTRL+F5-выполнение без отладчика.
Также проверьте, не пытаетесь ли вы отладить сборку, на которую ссылаются как на версию выпуска: если это так, то вы не можете легко отладить ее.


ilostmyid2

режим сборки-это отладка. я использую F5. я не собираюсь участвовать в собраниях. строка с точкой останова находится в моем собственном коде.

Рейтинг:
0

Dave Kreskowiak

Вы вообще не объяснили проблему и не дали никаких сообщений об ошибках, которые вы видите.

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


ilostmyid2

как я уже говорил, предупреждение заключается в следующем::
Точка останова в данный момент не будет достигнута. Для этого документа не было загружено никаких символов.
что же мне теперь делать? я вижу там файлы PDB.

Dave Kreskowiak

Да, я не видел того комментария, который вы вставили, пока это не было опубликовано. Было бы неплохо поместить эту информацию в оригинальном посте.

PDB-файлы, по-видимому, находятся не там, где их ожидает VS, вероятно, потому, что это испорченное преобразование. Пути между тем, где проект был на старой машине, отличаются от того, где они находятся на новой.

Таким образом, вы можете попробовать сделать чистое решение, а затем перестроить решение (оба в меню Build.)

Кроме того, вы можете открыть его .СЛН И.Проецируйте файлы в папку проекта и проверяйте их на наличие плохих путей на старой машине, заменяя их хорошими путями на новой машине.

ilostmyid2

иерархия каталогов такая же. я сделал чистку и перестройку, но безуспешно.

Dave Kreskowiak

Я ничего не сказал об иерархии каталогов. Я сказал Открой .СЛН И.Запрограммируйте файлы (блокнот) и проверьте их на наличие старых путей, включая буквы дисков.

ilostmyid2

это не абсолютные пути. так что не включайте букву диска. это относительные пути.

Dave Kreskowiak

Ну, тогда я не могу сказать тебе, что происходит.

Я бы атаковал проблему, запустив новый проект и перетащив исходные файлы из папки "плохой проект" в окно обозревателя решений в новом проекте.

ilostmyid2

омг! я скопировал все решение с сетевого диска на локальный диск, и проблема была решена! почему? диск по существу обеспечивается SFTP Net Drive, который сопоставляется с машиной linux. может быть, мне нужно изменить настройки Windows/SFTP Net Drive? может быть, проблема возникнет даже в том случае, если сетевой диск будет подключенным диском из общего ресурса Windows?

Dave Kreskowiak

Вы никогда не говорили, что запускаете это с сетевого диска.

В этом вся разница в мире, потому что по умолчанию управляемый код, запущенный из сетевого источника (любого сетевого источника!), не является доверенным. Он работает в очень ограниченной песочнице.

ilostmyid2

Я не думал, что это может быть причиной. Привод есть привод. Если он достаточно надежен для запуска/отладки программы, ему следует доверять доступ к файлу PDB для этой цели!

ilostmyid2

теперь, что я могу сделать, чтобы представить сеть как надежный источник?
МС лучше не создавать барьеров, чем сделать мир более безопасным местом!