Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как средствами IAR проследить утечку или переполнение памяти
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Oops
Здравствуйте!!!
Программирую на Atmega128, компилирую в IAR Embedded Workbench IDE, отлаживаю с помощью AVR Studio. В коде применяется динамическое выделение памяти, дело в том что скомпилированный исполняемый файл работает правильно, но иногда происходит перезагрузка CPU Atmega128L. Нашел место где выделяемая память не высвобождается исправил перезагрузки стали реже, но всеже есть.Наверное еще гдето память не высвобождается. Помогите плиз, вот вопросы:
1) Можно ли как нибудь в среде AVR Studio проследить переполнение или утечку в памяти?
2) Можно сделать так чтобы в AVR Studio в режиме отладки при возникновении ошибки CPU не перезагружался а останавливался на паузу, чтобы в отладчике глянуть где произошло переполнение или утечка.
3) Где в IAR Embedded Workbench IDE или AVR Studio посмотреть характеристики скомпилированного файла? Тоесть сколько ему нужно памяти, и тп. нечто вроде информационного окошка которое вылазит кода скомпилируешь файл в среде CodeVision.
Большое спасибо.
defunct
Цитата(Oops @ Feb 15 2010, 10:54) *
1) Можно ли как нибудь в среде AVR Studio проследить переполнение или утечку в памяти?

сделайте обертки для malloc / free, в них выводите в консоль все что интересует (кто, какой блок выделяет, сколько свободно)

Цитата
2) Можно сделать так чтобы в AVR Studio в режиме отладки при возникновении ошибки CPU не перезагружался а останавливался на паузу, чтобы в отладчике глянуть где произошло переполнение или утечка.

точку останова на адрес 0x00 поставить (в дизассемблере).

Цитата
3) Где в IAR Embedded Workbench IDE или AVR Studio посмотреть характеристики скомпилированного файла? Тоесть сколько ему нужно памяти, и тп. нечто вроде информационного окошка которое вылазит кода скомпилируешь файл в среде CodeVision.

см опции линкера на предмет генерировать .map файл.
Oops
defunct спасибо!!!
Используя ваши советы нашел прблемные места, где не высвобождалась память. Исправил все заработало.
rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.