Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

БрекПоинт [D2005, XP]


Dik1 ©   (2006-05-23 17:12:00) 

Помогите, пожалуйста!
При исполнении программы кто-то затирает память, где расположена компонента. Необходимо отловить ситуацию затирания, для этого вроде бы должен подходить БрекПоинт данных (или БрекПоинт адреса). Но у меня ничего не получается, останова не происходит.
Дайте, пжлста, любой работающий пример с данными в окошке настройки БрекПоинта.


Dik1   (2006-05-23 19:58:00) [1]

Извините, Мастера, но я наверное неясно выразился.

Как я понял из Хелпа, BreakPoint можно ставить не только на участках кода, но и на данных, при этом отладчик будет постоянно проверять значение ячейки памяти и при его (значения!) изменении будет вызван останов!
Вот про этот-то BreakPoint я и спрашиваю.
Перефразирую вопрос:

Требуется отловить ситуацию, когда при работе программы затирается участок памяти. Для этого вроде бы годится BreakPoint на данные или BreakPoint на адрес. Но мне не удается получить останов, по видимому я как-то неверно задаю условия на останов.
Теперь  более конкретно.
В модуле данных лежит компонента с именем "qAdven",  адрес  которой мне известен, например $456240, и в котором имеется ссылка на список FList, расположенная по адресу $456260. В какой-то момент я создаю некую вспомогательную форму, и после ее создания обнаруживаю, что все поля компоненты затерты - название компоненты стало пустой строкой, все указатели кажут 'nil' а все целые - нуль.

Подскажите, что я должен написать в форме задания Breakpoint в полях
 "Address"   и
 "Condition"
чтобы при затирании памяти, где расположен компонент qAdven, возникал Breakpoint?


RzCoDer   (2006-05-23 19:35:00) [2]

Ставишь точку остановки в начале процедуры и далее по шагу (F8) отлавливаешь момент когда происходит затирание.


Alien1769   (2006-05-23 19:26:00) [3]


> Дайте, пжлста, любой работающий пример с данными в окошке
> настройки БрекПоинта.


БрекПоинт - точка останова. Сначала нужно подумать где ее поставить!


Наверх

Титульная страница Поиск, карта сайта Написать письмо