maeglor: (Default)
[personal profile] maeglor
... точнее непроинициализировал переменную. Два дня работы на находнение источника "плавающей" ошибки. Можно сказать коту под хвост.

Date: 2009-08-31 08:40 pm (UTC)
From: [identity profile] corviniol.livejournal.com
Это бывает... Сплошь и рядом.
А я очень долго втыкал в строчку кода вида:

pAT91SAM->pUSART->CNR;

Date: 2009-09-01 10:43 am (UTC)
From: [identity profile] subbotenok.livejournal.com
А что в ней такого? Ктото извращенно вызывает метод Read() параметра CNR. Зачемто...

Date: 2009-09-01 11:28 am (UTC)
From: [identity profile] corviniol.livejournal.com
Это был язык С. А не С++.
Но вообщем ты угадал - эта операция сбрасывала регистр процессора, который считал переданные по интерфейсу USART байты. Или что-то такое...

Date: 2009-09-01 08:18 am (UTC)
From: [identity profile] trollenok.livejournal.com
Это же классика, не?

Date: 2009-09-01 10:41 am (UTC)
From: [identity profile] subbotenok.livejournal.com
Ну не совсем... Дело в том, что в большинстве случаев программа в таком варианте работает нормально.

Просто дальше программа при появлении ошибки подлежащей обработке уничтожает эту переменную если ее адрес не NULL. И таки уничтожает ее, поскольку там какойто старый програмный мусор. Т.е. затирает случайный участок оперативной памяти. Даже после этого как правило ничего не происходит. Но иногда начинаются совершенно фантастические вещи...

March 2017

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
262728293031 

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 09:02 pm
Powered by Dreamwidth Studios