powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / баг компилятора?
25 сообщений из 36, страница 1 из 2
баг компилятора?
    #40018272
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linux


упорно заходит в TPSPascalCompilerMessage(FMessages[l]).Free, при том, что FMessages.Count = 0 с гарантией, дебаггер подтверждает.
смотрю асм код.

uPSCompiler.pas.2642: for l := 0 to FMessages.Count - 1 do
000000000101694C 488B45E8 mov rax,QWORD PTR [rbp-0x18]
0000000001016950 483945F0 cmp QWORD PTR [rbp-0x10],rax
0000000001016954 75CD jne 0x1016923 <Upscompiler.TPSPascalCompiler.Clear()+115>

cmp QWORD PTR [rbp-0x10],rax ставит флаг ZF 0, и прыгает соответственно.
По адресу rbp-0x10 ноль.

Раньше такого не было, а сейчас вдруг всплыло.

Что делать, куда копать? Смутно припоминаю, что много лет назад что-то было похожее на винде, но где именно и как исправлял - не помню.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018273
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос снят,
var l: Longint;
vs
property Count: Cardinal read FCount;

Longint в Posix64 имеет 8 байт.

Продолжение знакомых старых историй, непонятно только почему раньше было нормально, а сейчас всплыло. Но неважно, суть ясна, исправлю.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018312
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это скорее баг отладчика.

У меня буквально на днях была ситуация, когда в коде:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  ...
  case Key of
    VK_RETURN:
      ...
    VK_ESCAPE:
{1}   PostQuitMessage(1);
  else
{2} Exit;
  end;
{3} Key := 0;



Отладчик при нажатии F8 последовательно проходил по строчкам {1}, {2} и {3}!
При этом код работал правильно, т.е. отладчик показывал выполнение инструкций, которые на самом деле не выполнялись. Хз что это было.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018317
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpотладчик показывал выполнение инструкций, которые на самом деле не выполнялись.

Вообще-то должен был бы проходить через 1-3-2...
PostQuitMessage не прерывает выполнение, так что присваивание обязано выполниться. Выход
из процедуры может осуществляться по желанию компилятора через любую удобную ему точку.

И вообще при современном неестественном интеллекте оптимизатора привязка строк исходника к
исполняемом коду весьма нетривиальна (если вообще возможна).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
баг компилятора?
    #40018334
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Вообще-то должен был бы проходить через 1-3-2...

Через 2 он не должен был вообще проходить. Не важно что там в ассемблере, в коде порядок действий определён однозначно.
Но факт что он проходил именно 1 - 2 - 3, т.е. Exit() не выполнялся.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018440
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Отладчик в линухах работает ОЧЕНЬ странно.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018600
loktevVasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том что, кто - то любит втыкать в редактор очень много директив препроцессоров, из за которых дебаггер неправильно прыгает по коду.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018643
northener
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
loktevVasiliy
Проблема в том что, кто - то любит втыкать в редактор очень много директив препроцессоров, из за которых дебаггер неправильно прыгает по коду.

Вот отсюда пожалуйста подробнее.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018668
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отладчик неправильно прыгает по коду лишь в одном случае: если у pas файла неправильная кодировка и неправильные символы переноса строки .
Например, для винды - это 2 символа #13#10, а бывает так, что только один символ #13 и тогда нужно pas-файл преобразовать, например с помощью Notepad++
...
Рейтинг: 0 / 0
баг компилятора?
    #40018695
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Отладчик неправильно прыгает по коду лишь в одном случае: если у pas файла неправильная кодировка и неправильные символы переноса строки .
Например, для винды - это 2 символа #13#10, а бывает так, что только один символ #13 и тогда нужно pas-файл преобразовать, например с помощью Notepad++

Нет, из-за этого точки отладки смещаются, а там он прыгал по строкам кода правильно, просто не по тем.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018716
loktevVasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
northener
Вот отсюда пожалуйста подробнее.


Тут и так все понятно, что имелось введу. Есть такие люди, которые любят в 1 файл сунуть кода на 20 тысяч строк.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018717
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loktevVasiliy
northener
Вот отсюда пожалуйста подробнее.


Тут и так все понятно, что имелось введу. Есть такие люди, которые любят в 1 файл сунуть кода на 20 тысяч строк.


давай, расскажи нам, что файл на 20к строк вызывает баги компилятора, это очень интересно.

*тут должна быть картинка слушающего чувака с сигаретой, но мне лень ее искать*
...
Рейтинг: 0 / 0
баг компилятора?
    #40018723
loktevVasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
loktevVasiliy
Проблема в том что, кто - то любит втыкать в редактор очень много директив препроцессоров, из за которых дебаггер неправильно прыгает по коду.


Vizit0r
давай, расскажи нам, что файл на 20к строк вызывает баги компилятора, это очень интересно.





Это просто констатация факта, что плохая структура файла - несёт в себе агонию и вред. Используйте .inc файлы, и правильную структуру документа.

И тогда сам по себе, никогда отладчик не будет не правильно прыгать по коду.

И нет, это именно из за того что директивы препроцессора всё портят
...
Рейтинг: 0 / 0
баг компилятора?
    #40018748
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loktevVasiliy
Это просто констатация факта, что плохая структура файла - несёт в себе агонию и вред. Используйте .inc файлы, и правильную структуру документа.



Т.е. пруфов и сторей не будет, будет классическое "ДА ЭТО ВСЕ ЗНАЮТ!" + "это же очевидно!"

Ясно-понятно.
...
Рейтинг: 0 / 0
баг компилятора?
    #40018793
loktevVasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vizit0r,

Это индивидуально происходит. Но происходит это в частности из за ctrl + d
...
Рейтинг: 0 / 0
баг компилятора?
    #40018794
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Вообще-то должен был бы проходить через 1-3-2...

интересно, что нечто похожее наблюдается и в дебагере Лазаря. Поначалу меня это удивило (в Дельфях ранее не замечал), но поскольку несколько нелепых прыжков по коду логику работы дебагера не нарушали, я просто на это забил :)
...
Рейтинг: 0 / 0
баг компилятора?
    #40019195
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, учитывая, что с inc файлами отладчик умеет работать чуть менее чем никак, отличный совет)) да и в принципе концепция эта неудобна. Попробуй в том же лазаре выйти на реализацию конкретной функции - всё проклянешь
...
Рейтинг: 0 / 0
баг компилятора?
    #40019210
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Попробуй в том же лазаре выйти на реализацию конкретной функции - всё проклянешь

поясни
...
Рейтинг: 0 / 0
баг компилятора?
    #40019432
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док
Fr0sT-Brutal
Попробуй в том же лазаре выйти на реализацию конкретной функции - всё проклянешь

поясни

Понадобилось как-то поглядеть на реализацию ОС-зависимой функции. После 10-минутного барахтания в файлах из среды пришлось запускать поиск текста.
...
Рейтинг: 0 / 0
баг компилятора?
    #40019467
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Док
пропущено...

поясни

Понадобилось как-то поглядеть на реализацию ОС-зависимой функции. После 10-минутного барахтания в файлах из среды пришлось запускать поиск текста.

Я в такое уперся, когда ОС-функции "на лету" прикручиваются, а на момент написания кода там только ссылка куда-то. В остальном лазарь отлично справляется. Но это вопрос не к лазарю, а к тем, кто проектирует платформозависимый код.
...
Рейтинг: 0 / 0
баг компилятора?
    #40019480
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Но это вопрос не к лазарю, а к тем, кто проектирует платформозависимый код.

Зато гибкость офигенная :)
...
Рейтинг: 0 / 0
баг компилятора?
    #40019483
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
После 10-минутного барахтания в файлах из среды пришлось запускать поиск текста.

мне кажется, там просто внимательно надо посмотреть настройки
...
Рейтинг: 0 / 0
баг компилятора?
    #40019491
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
wadman
Но это вопрос не к лазарю, а к тем, кто проектирует платформозависимый код.

Зато гибкость офигенная :)

Но такое и в дельфи можно запилить. И в нем тоже можно потеряться.
Где-же и в какое время в рекорд с функциями/процедурами появляются ссылки на реальный код?

Например, как с менеджером памяти.
...
Рейтинг: 0 / 0
баг компилятора?
    #40019505
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Но такое и в дельфи можно запилить.

Теоретически-то можно всё. На практике, в фпц я могу поменять менеджер ресурсов, а в дельфях, максимум, кастомизировать загрузку ресурсной строки.
...
Рейтинг: 0 / 0
баг компилятора?
    #40019510
Vizit0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
wadman
Но такое и в дельфи можно запилить.

Теоретически-то можно всё. На практике, в фпц я могу поменять менеджер ресурсов, а в дельфях, максимум, кастомизировать загрузку ресурсной строки.


а что там отладчик, на который все плюются - можно поменять на что-то нормальное?
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / баг компилятора?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]