Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: 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 вся ветка

Текущий архив: 2004.06.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
4-1083572914
demondar
2004-05-03 12:28
2004.06.06
COM-порт


4-1083243415
DoG
2004-04-29 16:56
2004.06.06
CreateNamedPipe


14-1085234701
Kolyan
2004-05-22 18:05
2004.06.06
Мы все учились понемногу.................


4-1083512654
Tuman
2004-05-02 19:44
2004.06.06
Как назначить событие кнопке?


1-1085141415
ГудБой
2004-05-21 16:10
2004.06.06
Как сделать sleep меньше одной милисекунды?