Разные недочеты/баги

main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

или брать бинарник _почти нового_ lazarus 3.0 RC1,
https://sourceforge.net/projects/lazarus/files/
или собирать из исходников, лучше всего через fpcUpDeluxe.

>>fpcUpDeluxe - это CLI компилятор? Он устанавливает Lazarus GUI?

это GUI прога.
https://github.com/LongDirtyAnimAlf/fpc ... e/releases


>>Спасибо за Recents! Он стал намного удобнее

пожалуста. :)
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

По отладке CudaText GTK на старом ноутбуке c экраном 15.6" 1280 х 800 pixels.

Ошибка после
33 Application.Run; в cudatext.lpr

выведена полная форма

между 2328 begin в procedure TGtk2WidgetSet.SendCachedLCLMessages; gtk2widgetset.inc
после F8
сообщение Lubuntu 23.04
"применены настройки монитора по умолчанию"

Полная форма отрисована, не перехожу в нее
Далее
6771 begin gtk2proc.inc
if (FWidgetsResized.Count=0) and (FFixWidgetsResized.Count=0) then exit
gtk2widgetset.inc
F9
вылет
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Нет ли трассировки в Lazarus - в отладочном режиме показать список процедур, которые последовательно вызывались?
Чтобы видеть, какая была последней и в ней уже локализовать ошибку?
Было бы удобно.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

>Нет ли трассировки в Lazarus - в отладочном режиме показать список процедур
насколько я знаю, такого нет.

а сам Лазарус значит работает и все ОК в нем? только в Куд проблема с монитором?
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

> а сам Лазарус значит работает и все ОК в нем? только в Куд проблема с монитором?

Да, вылет после 6771 begin gtk2proc.inc и F9 (устал от F8 и F7)
Может, ставить отладочную печать?
Смотреть значения переменных? (А как их скопировать?)
Как дальше локализовать неправильность?

> насколько я знаю, такого нет.

Да, в Lazarus этого может не быть, это, скорее в отладчике, надо читать доки:

пример:
How to debug programs in Fortran
https://www.educative.io/answers/how-to ... in-fortran
DBX debugger
Another commonly used debugger is DBX. The DBX debugger is used for the operating system Linux.
Some of the commands in DBX are listed below.
...
trace <line#> trace execution of the linee
trace <proc> trace calls to the procedure
trace <var> trace changes to the variable

Вот еще:

trace debug Lazarus at DuckDuckGo
https://duckduckgo.com/?q=trace+debug+L ... 9-1&ia=web

https://forum.lazarus.freepascal.org › index.php?topic=54388.0

[Solved] How to trace \ debug a design-time package with Lazarus?
a) check if the debugging of the package in question is possible: for that, open Delphi, and edit the package in design (the one with "usage option" = "design time only" i.e. open the package I would want to debug. Do a rebuild in order to see if everything is correct, if this package compiles, and then if it could be installed.

[Solved] How to trace \ debug a design-time package with Lazarus?
https://forum.lazarus.freepascal.org/in ... ic=54388.0

https://wiki.lazarus.freepascal.org › Lazarus_command_line_options
Lazarus command line options - Lazarus wiki - Free Pascal
28 мая 2022 г.primary config directory where Lazarus stores its config files. Default is /home/USER/.lazarus --secondary-config-path= <path>--scp=<path> secondary config directory where Lazarus searches for config template files. Default is /etc/lazarus ... Turn off specific GDK trace/debug messages. --display h:s:d:

Lazarus command line options - Lazarus wiki
https://wiki.lazarus.freepascal.org/Laz ... ne_options
Last edited by mix-7 on 20.08.2023 14:13, edited 1 time in total.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

отладочная печать наверно есть в туле - valgrind. под Линукс.
есть еще strace.
сам не пользуюсь. но оно должно печатать лог вызываемых ф-й.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

А какой процедурой GTK рисуется canvas (или как там называется пустая форма?)
Думаю посмотреть, верное ли там задается разрешение 1280 х 800.
Может, в этом ошибка?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

в папке lcl/interfaces/gtk2 _очень много кода_ , и что именно и как ставит разрешение, не знаю.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

ОК, думаю, надо смотреть не последний вывод, а то, что рисует canvas.
Видимо, там дается разрешение.
Посмотрю про трассировку ваши рекомендации ссылки отсюда

Вот еще вывод dmesg, может, он что-нибудь подскажет:

Code: Select all

sudo dmesg:
...
[   42.420067] systemd-journald[261]: Time jumped backwards, rotating.
[  180.142321] i915 0000:00:02.0: [drm] GPU HANG: ecode 4:1:87edfafe, in Xorg [553]
[  180.478239] i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on rcs0
[  180.579602] i915 0000:00:02.0: [drm] Xorg[553] context reset due to GPU hang
[  187.049412] i915 0000:00:02.0: [drm] GPU HANG: ecode 4:1:87edfafe, in Xorg:gdrv0 [591]
[  187.390371] i915 0000:00:02.0: [drm] Resetting chip for stopped heartbeat on rcs0
[  187.491814] i915 0000:00:02.0: [drm] Xorg:gdrv0[591] context reset due to GPU hang
dell500@dell500-dell500:~$ 
Свойства монитора:
1280 x 800 15.6" PPI? 33 x 21 см AU Optronics
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

вообще этот вопрос про сброс монитора, надо уже на форуме лазаруса выяснять. я тут не знаю ничего.
https://forum.lazarus.freepascal.org/
Post Reply