«Построение выполнено успешно», но «Точка останова в настоящее время не будет достигнута» - PullRequest
0 голосов
/ 07 ноября 2019

Я работаю против DOSBox-X базы кода проекта.

Большинство точек останова работают, но иногда я получаю The breakpoint will not currently be hit, даже если сборка прошла успешно. Скорее всего, это происходит, когда крошечные изменения вносятся в код (несколько символов) или просто переключаются обратно на основную ветвь после слияния (вообще никаких изменений).

Конечно, если я перестрою весь проект или выполнюBuild full program database for solution это будет неизменно работать, но для первого потребуется довольно много минут, для второго - немного меньше, но все же значительное время.

TL; DR;это происходит случайно

Может ли какой-нибудь эксперт пролить свет на то, что может быть причиной этого?

1 Ответ

1 голос
/ 07 ноября 2019

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

Когда вы меняете исходный кодкод, он больше не "синхронизирован" с кодом, который использовался для создания исполняемого файла. Это по сути не означает, что исполняемый файл больше не является отлаживаемым (в нем все еще есть символы и тому подобное), но Visual Studio представляет собой графическую среду IDE, отладчик которой интегрирован в редактор исходного кода.

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

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

(Примечание: это иногда застревает. Мне иногда приходилось делать Clean All, чтобы заставить точки останова снова работать, даже если я не менял код. Но это должно быть очень редко.)

...