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

 
 
> LPC2378 и исключительные ситуации, программа переодически сваливаеться в exception
cyberrevenger
сообщение Oct 17 2008, 20:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 21-11-07
Пользователь №: 32 540



Всем привет, вопрос такой, в каких ситуациях контроллер переходит по адресам DAbt_Handler и Undef_Handler? особенно это наблюдается при использовании библиотечных фун-ций типа atof, sprintf ... ?
С чем это может быть связанно? пробовал играть чутка с размером стеков, что то не помогает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Oct 17 2008, 20:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Сначала разберитесь, какая именно инструкция при каких условиях вызывает этот abort. Например, так.
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 18 2008, 09:37
Сообщение #3


Гуру
******

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



Цитата(aaarrr @ Oct 18 2008, 00:55) *
Сначала разберитесь, какая именно инструкция при каких условиях вызывает этот abort. Например, так.

Я обычно ставлю точку останова на векторе исключения и потом в отладчике смотрю на содержимое регистров.
А вообще полностью согласен: вместо того, чтобы пританцовывать с бубном (размер стека и т.д.), нужно просто найти первопричину, благо средства отладки это позволяют.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 18 2008, 10:28
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(scifi @ Oct 18 2008, 11:37) *
Я обычно ставлю точку останова на векторе исключения и потом в отладчике смотрю на содержимое регистров.

А потом на мамнадцатый месяц эксплуатации на объекте этот самый отладчик, по вполне резонным причинам, оказался не подключенным, вообще отсутствующим, да и смотреть в него просто некому там.... Обработчики таких ситуаций надо иметь и логирование результатов.
Вот у меня только что при подчистке менеджера памяти вывалился на дамп exception:
Код
Abort:[D] PC:0000628C Op:E7C02001 CPSR:200000DF
   LR:00010A00 SP:7FD003F0
SP[0]:00000010->00018874->400021B0->E01FC000->
SP[4]:00000024->0000F76C->005801C0->0000407C
   R0:00000000 R1:00000000 R2:000000C0 R3:00000058  R4:0000CA02  R5:40000B14
   R6:00000000 R7:7FD00409 R8:00000003 R9:09090909 R10:10101010 R11:11111111
  R12:000000C0

Вполне разбирабельно (на мой взгляд smile.gif ).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 07:32
Рейтинг@Mail.ru


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