реклама на сайте
подробности

 
 
> остановка отладки (break debug), вызов спец. процедуры
buletz
сообщение Apr 8 2007, 14:40
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 4-07-06
Из: Moscow
Пользователь №: 18 554



можно ли сделать так, чтобы при отладке если производится остановка (break debug) то программа перед остановкой выполняла бы опред. процедуру (набор команд) ?
как это сделать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
DASM
сообщение Apr 8 2007, 14:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Мне такое неизвестно
Go to the top of the page
 
+Quote Post
buletz
сообщение Apr 8 2007, 15:21
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 4-07-06
Из: Moscow
Пользователь №: 18 554



ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?
Go to the top of the page
 
+Quote Post
DASM
сообщение Apr 8 2007, 15:30
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



нет такого ни в ИАР ни в Кейле
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 8 2007, 18:13
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(asdjkasdjkalsdjkl @ Apr 8 2007, 16:21) *
ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?

Можно сделать так: прицепить кнопку к одному из неиспользуемых входов микроконтроллера (назовём его BRK) и для постановки точки останова написать такой код:
Код
if ( BRK == 0 )
{
    __no_operation();
}

Теперь можно поставить точку останова на строчке __no_operation(), и при нажатии на кнопку программа остановится на этой строчке.
Go to the top of the page
 
+Quote Post
Tahoe
сообщение Apr 8 2007, 19:10
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 30-03-06
Из: Москва
Пользователь №: 15 600



Цитата(asdjkasdjkalsdjkl @ Apr 8 2007, 16:21) *
ну или сделать так, чтобы прога после нажатия break debug останавливалась дойдя до определенного места программы
в IAR нет таких возможностей ? Не знаете ?

Может я чего не понял в вопросе, но собсно breakpoint для этого и придумана. Именно что бы "прога ... останавливалась дойдя до определенного места программы" (с). smile.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 8 2007, 21:31
Сообщение #7


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Можно, но только на определенных процах.

Например это возможно в STR91x.
В ядре ARM966E-S можно включить такой режим - Monitor mode debug
В этом режиме на точке останова прога не останавливается, а вызывает прерывание Prefetch или Data Abort. Тут и можете делать че хотите, потом сменить режим отладки и мертво встать на следующей точке останова или не вставать, а использовать DCC и т.д.
Go to the top of the page
 
+Quote Post
buletz
сообщение Apr 9 2007, 09:21
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 52
Регистрация: 4-07-06
Из: Moscow
Пользователь №: 18 554



4Tahoe: breakpoint это несколько другое. На breakpoint отладчик останавливается в любом случае, как только доходит до такой строчки. А мне нужно чтоб отладчик останавливался на такой строчке только если я нажал "break debug" . Чувствуете разницу ?

Повесить кнопку - в принципе это тож мысль, но довольно извращенное решение.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 9 2007, 09:40
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(asdjkasdjkalsdjkl @ Apr 9 2007, 10:21) *
Повесить кнопку - в принципе это тож мысль, но довольно извращенное решение.

На безрыбье и рак рыба. При отладке все средства хороши.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Apr 9 2007, 16:43
Сообщение #10


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Это сомнительное средство.
Цель точек останова в минимизации воздействия на программу.
Постоянная же вставка лишних отладочных кусков принуждает к постоянной перекомпиляции программы, и ранее обнаруженные баги будут с большой вероятностью постоянно изменять свое поведение.
Тут видимо непреднамеренная подмена понятий отладочного монитора и точек останова.

Цитата(scifi @ Apr 9 2007, 10:10) *
На безрыбье и рак рыба. При отладке все средства хороши.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016