Отладка в Lazarus
Модератор: Модераторы
-
Alexey_Melky
- новенький
- Сообщения: 21
- Зарегистрирован: 14.05.2005 14:55:31
Я попытался запустить программу в режиме пошагового выполнения. Выполнение программы так и не началось. Также, если я пытаюсь установить break-point в тексте, то получаю слева от строки, которая при этом выделяется, знак вопроса в маленьком кружочке. При этом отладка так и не начинается.
Создается впечатление, что либо я делаю что-то неверно, либо отладка в среде Lazarus не реализована, либо реализована но не до конца.
Может быть кто нибудь подскажет, как правильно подружить Lasarus и отладчик, если конечно такое возможно на сегодняшний день.
Создается впечатление, что либо я делаю что-то неверно, либо отладка в среде Lazarus не реализована, либо реализована но не до конца.
Может быть кто нибудь подскажет, как правильно подружить Lasarus и отладчик, если конечно такое возможно на сегодняшний день.
- Сергей Смирнов
- энтузиаст
- Сообщения: 595
- Зарегистрирован: 28.04.2005 13:23:25
- Откуда: Москва
- Контактная информация:
Создается впечатление, что либо я делаю что-то неверно, либо отладка в среде Lazarus не реализована, либо реализована но не до конца.
Первое и третье верно, если речь идёт о виндовой версии относительно свежего Лазаря, а не о версии 0.9.6 (там верно второе). В Проект-> параметры компилятора -> Связывание надо установить галочку на Генерировать информацию для GDB. При этом должны заработать точки останова и пошаговое выполнение. Точки наблюдения, локальные переменные и вычисление выражений тоже как-то работают, но вполне могут и глючить. Тоже самое и для линуксовой версии, но там отладка работает уже давно (несколько лет).
-
Alexey_Melky
- новенький
- Сообщения: 21
- Зарегистрирован: 14.05.2005 14:55:31
Сергей Смирнов писал(а): Первое и третье верно, если речь идёт о виндовой версии относительно свежего Лазаря, а не о версии 0.9.6 (там верно второе). В Проект-> параметры компилятора -> Связывание надо установить галочку на Генерировать информацию для GDB. При этом должны заработать точки останова и пошаговое выполнение. Точки наблюдения, локальные переменные и вычисление выражений тоже как-то работают, но вполне могут и глючить. Тоже самое и для линуксовой версии, но там отладка работает уже давно (несколько лет).
Речь идет именно об отладке под Win32, точнее XP. Опция гененрирования отладочной информации для GDB установлена. При простом запуске, без точек останова, если указан путь к отладчику, то GDB загружается и выполняется (по крайней мере он попадает в число процессов в диспетчере задач). При этом само приложение (отлаживаемая программа) не запускается. Мало того, если попытаться выйти из Lazarus, все окна, кроме основного закроются, а основное будет висеть до тех пор, пока я не выгружу "вручную" GDB.
Происходит это на текущей версии, по крайней мере на сборке от 30 мая.
Естественно, что до брек-пойнтов дело не доходит.
Вообще-то у меня возникает сомнение, что всякие опции, кроме путей, доходят до компилятора. Уж информация отладочного характера из программ точно не вырезается.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
-
Alexey_Melky
- новенький
- Сообщения: 21
- Зарегистрирован: 14.05.2005 14:55:31
Тем не менее, возвращаясь к теме запуска и отладки программ из среды Lazarus. Все-же, насколько я понимаю, ошибка происходит при запуске GDB именно из среды. Скомпилированный загрузочный файл без труда выполняется, если его загрузить без помощи Lasarus в GDB. И точки останова работают и пошаговое выполнение. Так что упомянутые мной проблемы в предыдущих сообщениях, относятся именно к Lasarus или работоспособности в связке с GDB под Windows.
- Иван Шихалев
- энтузиаст
- Сообщения: 1138
- Зарегистрирован: 15.05.2006 11:26:13
- Откуда: Екатеринбург
- Контактная информация:
-
Saemon Zixel
- новенький
- Сообщения: 78
- Зарегистрирован: 20.09.2005 18:19:54
- Откуда: Sochi
Кстати, в последних версиях отладка вообще сломана. В линуксе окно настройки отладки вообще по ошибке вылетает. А если вручную настройки в файле исправить всеравно нельзя значения переменных посмотреть(какуюто лажу показывает). И когда это кончится
....
Нет значений переменных при отладке в всплывающих подсказках(как в делфях). Будет ли?
Нет значений переменных при отладке в всплывающих подсказках(как в делфях). Будет ли?
-
Saemon Zixel
- новенький
- Сообщения: 78
- Зарегистрирован: 20.09.2005 18:19:54
- Откуда: Sochi
Не хочу новую тему создавать, вопрос по отладке.
Если точка остановки указывает на первую функцию, а лазарус при остановке устанавливает курсор на вторую функцию это как понимать?
У меня что то не то с текстом или отладчик запутался?
Если точка остановки указывает на первую функцию, а лазарус при остановке устанавливает курсор на вторую функцию это как понимать?
У меня что то не то с текстом или отладчик запутался?
Код: Выделить всё
function TBuildingList.Add(Item: TBuildingItem): Integer;
begin
Result:= inherited Add(TCollectionGroupItem(Item));
end;
function TBuildingList.CreateItem: TBuildingItem;
begin
Result:=TBuildingItem.Create;
Result.CollectionName:=FCollectionName;
DoCreateItem(Result);
end;
Первая процедура нигде не вызывается и выкинута из бинарника
