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

Im working on Arduino Uno board recently im stuck with my code, i couldnt debug using print() in ArduinoIde.So i downloaded AtmelStudio 6.2 for debug purpose. when i set the breakpoint and try to build .Im getting the warning The breakpoint will not currently be hit. Unable to set requested breakpoint on target.The current selected deviceis unable to set breakpoints during runtime

Будь ласка, допоможіть мені відсортувати цю проблему

2
Я виявив, що, викликаючи помилку компіляції в уражених файлах (додайте помилку після компіляції), проблему виправлено після виправлення помилки та перекомпіляції.
додано Автор Mark, джерело

6 Відповіді

Слідуючи обхідним шляхам , працювали з такою ж проблемою, використовуючи ATMega 168P на Atmel Studio 7 з Atmel-ICE.

1. Асемблер

Вставте наступний код ассемблера, де потрібно визначити точку зупинки:

asm("break");

Зверніть увагу, що це дійсно потворне рішення і не підходить для будь-яких ситуацій. Він працює тільки з DEBUGwire і робить вашу програму зупинкою в будь-якому випадку, навіть якщо не прикріплений програміст.

2. Створити новий проект

Створення нового проекту в іншому місці також допомогло. Я скопіював усі необхідні файли до нової папки. Нове місце розташування має короткий шлях (C: атмл ...) і не містить пропусків, відсутність умляутів і т.д.

1
додано

Слідуючи обхідним шляхам , працювали з такою ж проблемою, використовуючи ATMega 168P на Atmel Studio 7 з Atmel-ICE.

1. Асемблер

Вставте наступний код ассемблера, де потрібно визначити точку зупинки:

asm("break");

Зверніть увагу, що це дійсно потворне рішення і не підходить для будь-яких ситуацій. Він працює тільки з DEBUGwire і робить вашу програму зупинкою в будь-якому випадку, навіть якщо не прикріплений програміст.

2. Створити новий проект

Створення нового проекту в іншому місці також допомогло. Я скопіював усі необхідні файли до нової папки. Нове місце розташування має короткий шлях (C: атмл ...) і не містить пропусків, відсутність умляутів і т.д.

1
додано

Я мав подібну проблему, різниця полягала в тому, що я міг би тільки влучити точки зупинки в оригінальні модулі мого проекту (тобто ті, які вже існували, коли я створив .propro), будь-які модулі, які я додав пізніше, не зупинилися б в точках зупинки на них.

Рішення (2), згадане @pafodie, працювало для вирішення цієї проблеми, але в процесі я знайшов більш простий спосіб: просто видаліть файл .atsuo. Пізніше вона буде автоматично відтворена, і проблема зникне (принаймні, доки ви не додасте більше модулів). Здається, AS6 кешує те, що не оновлюється при додаванні нових файлів, або робить це неправильно.

0
додано

Я мав подібну проблему, різниця полягала в тому, що я міг би тільки влучити точки зупинки в оригінальні модулі мого проекту (тобто ті, які вже існували, коли я створив .propro), будь-які модулі, які я додав пізніше, не зупинилися б в точках зупинки на них.

Рішення (2), згадане @pafodie, працювало для вирішення цієї проблеми, але в процесі я знайшов більш простий спосіб: просто видаліть файл .atsuo. Пізніше вона буде автоматично відтворена, і проблема зникне (принаймні, доки ви не додасте більше модулів). Здається, AS6 кешує те, що не оновлюється при додаванні нових файлів, або робить це неправильно.

0
додано

Якщо використовується зовнішній файл Makefile, переконайтеся, що прапорець -g (debug) встановлено в CFLAGS .

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

0
додано

Якщо використовується зовнішній файл Makefile, переконайтеся, що прапорець -g (debug) встановлено в CFLAGS .

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

0
додано