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

 
 
 
Reply to this topicStart new topic
> MPLAB + C30: проблема срабатывания брэкпоинтов, при установке брэкпоинта на функцию при останове заходит в нее, хотя э
Sminder
сообщение Oct 15 2008, 08:06
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



У меня такой вопрос. Среда разработки - MPLAB 7.62. Компилятор языка Си MPLAB С30 v3.02. Проблема в установке точек прерывания. Если точка прерывания устанавливается на вызов функции, то при срабатывании ее отладчик ЗАХОДИТ в саму функцию, хотя мне этого не требуется. Нужно чтобы просто останавливался на функции и все, как можно было бы логично и предположить. Подскажите пожалуйста, как решить проблему.
Go to the top of the page
 
+Quote Post
DL36
сообщение Oct 15 2008, 09:33
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006



Цитата(Sminder @ Oct 15 2008, 11:06) *
У меня такой вопрос. Среда разработки - MPLAB 7.62. Компилятор языка Си MPLAB С30 v3.02. Проблема в установке точек прерывания. Если точка прерывания устанавливается на вызов функции, то при срабатывании ее отладчик ЗАХОДИТ в саму функцию, хотя мне этого не требуется. Нужно чтобы просто останавливался на функции и все, как можно было бы логично и предположить. Подскажите пожалуйста, как решить проблему.
NOP(); поставь, перед функцией. Привыкнешь.
Go to the top of the page
 
+Quote Post
Sminder
сообщение Oct 15 2008, 13:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 35
Регистрация: 26-02-07
Пользователь №: 25 691



Пишу так:

Код
breakpoint->          Nop();
                      Func1();

а в функцию все равно заходит.
И вообще мне хотелось бы радикальное решение проблемы, без добавления лишнего кода.
Go to the top of the page
 
+Quote Post
DL36
сообщение Oct 15 2008, 15:56
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006



Цитата(Sminder @ Oct 15 2008, 16:31) *
Пишу так:

Код
breakpoint->          Nop();
                      Func1();

а в функцию все равно заходит.
И вообще мне хотелось бы радикальное решение проблемы, без добавления лишнего кода.

Нет. бывает два помогает.
Go to the top of the page
 
+Quote Post
Harvester
сообщение Oct 24 2008, 11:22
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Это стандартная фича ICD - останавливаться через 1...2 команды после точки останова. Решение - ставить брейкпоинт раньше или, как уже советовали, вставлять пару nop-ов


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AndrewGT
сообщение Nov 2 2008, 20:16
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 27-06-05
Из: Москва
Пользователь №: 6 335



Попробуйте точку останова поставить в окне дизассемблирования ( а не в С исходнике).
Go to the top of the page
 
+Quote Post

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

 


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


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