Точка останова в настоящее время не будет достигнута. Невозможно установить запрошенную точку останова на цели

Недавно я работал над платой Arduino Uno, я застрял в своем коде, я не мог отлаживать с помощью print() в ArduinoIde. Поэтому я скачал AtmelStudio 6.2 для отладки. когда я устанавливаю точку останова и пытаюсь собрать .Im получаю предупреждение Точка останова в настоящее время не будет достигнута. Не удалось установить запрошенную точку останова на целевом устройстве. Текущее выбранное устройство не может установить точки останова во время выполнения

пожалуйста, помогите мне решить эту проблему


person satish    schedule 27.05.2015    source источник
comment
Я обнаружил, что, вызывая ошибку компиляции в затронутых файлах (добавьте опечатку, затем скомпилируйте), проблема устраняется после исправления опечатки и перекомпиляции.   -  person Mark    schedule 02.01.2018


Ответы (4)


Следующие обходные пути работали с той же проблемой, используя ATMega 168P в Atmel Studio 7 с Atmel-ICE.

1. Ассемблер

Вставьте следующий ассемблерный код туда, где вы хотите установить точку останова:

asm("break");

Обратите внимание, это действительно уродливое решение и подходит не для всех ситуаций. Он работает только с DEBUGwire и останавливает вашу программу в любом случае, даже если программатор не подключен.

2. Создайте новый проект

Также помогло создание нового проекта в другом месте. Я скопировал все необходимые файлы в новую папку. Новое местоположение имеет короткий путь (C:\atmel\project...) и не содержит пробелов, умлаутов и т. д.

person pafodie    schedule 09.01.2016

У меня была аналогичная проблема, разница заключалась в том, что я мог использовать точки останова только в исходных модулях моего проекта (т.е. в тех, которые уже существовали, когда я создавал .cproj), любые модули, которые я добавлял позже, не останавливали программу в точках останова, размещенных на них.

Решение (2), упомянутое @pafodie, помогло решить эту проблему, но в процессе я нашел более простой способ: просто удалить файл .atsuo. Позже он будет автоматически воссоздан, и проблема исчезнет (по крайней мере, пока вы не добавите больше модулей). Кажется, AS6 кэширует что-то там, что не обновляется при добавлении новых файлов, или делает это неправильно.

person Fabio Ceconello    schedule 04.06.2016
comment
Помогли мне прямо сейчас с AS7, спасибо. (На самом деле я удалил весь каталог .vs, содержащий этот .atsuo) - person firda; 22.07.2020

Если вы используете внешний Makefile, убедитесь, что флаг -g (отладка) установлен в CFLAGS.

В противном случае Atmel Studio понятия не имела бы, как исходные файлы соответствуют скомпилированному двоичному файлу.

person coding_n00b    schedule 08.08.2018

Возможно, я нашел решение, которое работает, по крайней мере, для меня! Вам нужно отключить оптимизацию компилятора. В Atmel Studio

Нажмите Alt+F7 > ToolChain > Optimization {есть 2 окна оптимизации, но только одно подходит для обуви} > Optimization level > None

Я нашел это здесь, объяснил лучше, чем я: https://www.microchip.com/webdoc/GUID-ECD8A826-B1DA-44FC-BE0B-5A53418A47BD/index.html?48DD-91FB-8585D91A938D рис. 5

person Bass    schedule 05.06.2019