Вниз
Скачать: CL | DM;

Отладчик в дельфи не останавливается на breakpoints   Найти похожие ветки 

 
Basilio   (2004-05-24 15:57) [0]

В общем, проблема в следующем. Пусть имеется такой код:

unit A;
interface
procedure P1;
const
C: array[1..8192] of record
   a,b:integer;
 end =
( XXXXX );
implementation
procedure P1;
begin
....
end;
end.

XXXXX - инициализация массива C, >8000 строк.
Так вот, в такой ситуации debugger ни в какую не хочет останавливатся на breakpoints внутри процедуры P1.
Если я уменьшаю массив скажем до 7000 - то всё работает (в смысле отладчик останавливается в точках останова).
Я одним местом чувствую, что это как-то связано с тем, что у меня инициализируется константа, размер которой больше 64K (65536 байт).
Проверялось на D5/Win98SE, D5/WinXP, D5/Win2K, D7/WinXP, D7/Win2K
Как-нибудь это ограничение можно снять? отлаживать через writeln что-то не очень хочется..


 
Alex*   (2004-05-24 16:50) [1]

Поставь breakpoints на место вызова процедуры, если не попадет на нее то двизай breakpoints выше до тех пор пока не придешь в место где breakpoints срабатывает, а далее F7


 
Семен Сорокин ©   (2004-05-24 16:56) [2]

Basilio   (24.05.04 15:57)
т.е. не работет условный BreakPoint? Или ты 8000 раз останавливал приложение? :)


 
ega23 ©   (2004-05-24 16:58) [3]

Динамические массивы, вот что нам поможет!


 
Basilio ©   (2004-05-24 19:51) [4]

В другом юните:

uses A;
..
begin
...
>> P1;
...
end;

ставим брейк на P1. останавливается.
внутри P1 вызываем какую-нибудь функцию из другого модуля, (скажем, P2).
ставим брейк внутри P1 на вызов P2,
ставим брейк внутри P2.
запускаем. останавливаемся на вызове P1, ожидаем что по нажатии F7 (Step into) встанем внутри P1. ан нет! становится внутри P2 :(
Как будто кода процедуры P1 он не видит.

Не совсем понятен вопрос от Семена Сорокина

2 ega23:
с динамическими массивами и так всё работает. дело в том, что надо именно так. это генерённый текст (из yacc).

проблему решил пока следующим образом: сбрасываю константные таблицы в отдельный юнит.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
4-1083321796
Alex*
2004-04-30 14:43
2004.06.06
Как отловить перезагрузку или выключение Win2000


14-1085121676
Bunny
2004-05-21 10:41
2004.06.06
IDE not Found.


1-1085379271
natEn
2004-05-24 10:14
2004.06.06
Рекурсия. Помогите!


3-1084451175
Maxim Volobuev
2004-05-13 16:26
2004.06.06
Сортировка по вычисляемому полю


9-1076060971
AlexT1000
2004-02-06 12:49
2004.06.06
Исходники Castle Wolfenstain . Мож кому поможет в развитии.




   Наверх