![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
БрекПоинт [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]
> Дайте, пжлста, любой работающий пример с данными в окошке
> настройки БрекПоинта.
БрекПоинт - точка останова. Сначала нужно подумать где ее поставить!