Я отлаживаю C код, работающий на микропроцессоре MSP430 с использованием GDB.
Когда я устанавливаю точку останова на линии double average = sum / 10;
с помощью break 172
, это подтверждается ответом Breakpoint 1 at 0xc01c: file main.c, line 172
, но когда я продолжаю с c
, код запускается до тех пор, пока не достигнет Breakpoint 1, main () at main.c:184
.
У меня не было проблем с отладкой до недавнего времени, поэтому я попытался вернуть все к предыдущей версии, и у меня все еще есть эта проблема. Я также попытался:
- Выключение и включение моего ноутбука.
- Отключение и повторное подключение каждого кабеля, связанного с микропроцессором и его цепью.
- Закрытие и повторное открытие всех терминалов windows.
- Перекомпиляция и повторная загрузка моего C кода в микропроцессор.
- Операторы печати, помогающие отладке, не подходят, потому что микропроцессор не может удержаться
#include <stdio.h>
. - Очистка всех точек останова перед установкой этой, но ни одна не найдена.
Код выглядит примерно так:
void main(void)
{
OtherMethod();
while(1)
{
int sum = 0;
for(int i = 0; i < 10; i++)
{
sum += i;
}
double average = sum / 10; // Line 172
}
}
void OtherMethod(void)
{
P1DIR |= LED1 + LED2; // Line 184
}
Другая полезная информация заключается в том, что я могу успешно установить точку останова на линии sum += i;
.
Любые идеи приветствуются.