Recent

Author Topic: Lazarus Release Candidate 2 of 2.2.0  (Read 53468 times)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 7697
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #90 on: December 07, 2021, 07:54:09 pm »
I think this is a regression since this did not appear with RC1:

- set a breakpoint somewhere in your code
- sun the program in Release mode
result: the breakpoint becomes invalid.

This is new but might be OK, since it is no debug run.
But now
- stop the program
result: the breakpoint stays invalid, also when you changed the build mode to "Debug"

Lazarus 2.2.0RC3 (rev lazarus_2_2_0_RC2-73-g0bf8dc1256)
FPC 3.2.3 x86_64-win64-win32/win64

I think the breakpoint should become valid again when the program is not executed like it was before.

Actually, while the debugger is not running, technically it should be unknown.

This is not about changing the debug info. This should (afaik) be triggered when the debugger stops.

Merely changing the debug info, does not, will not, and should not change the state (other than potentially unknown). Since without the debugger the IDE can not know if the breakpoint is then valid. It might be on an empty line, or even a unit not included in the exe.

IIRC:
unknown: red with no further mark
good/valid: red witch check-mark
bad: orange
disabled: green

So what you mean is actually unknown.

and gdb has red with pause-bars for "not yet valid, lets see if a library gets loaded where it can be set". That one does not yet exist in FpDebug.

----------------
I have to check your above report when I have time.

Please report it on the bugtracker, so it will not be forgotten.





About empty lines:
yes gdb accepted empty lines for the next line. With the effect that people did not know why the debugger stopped at line 500 => which was the first line of code in the unit. And the answer was, because at line 20 of that unit a breakpoint was set.
Neither "not at all" nor "at all costs" is good. But that is a different topic, and currently not high prior.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 7697
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #91 on: December 07, 2021, 07:56:40 pm »
- PC A has 2 debuggers defined, FPDebug,
 and GDB
- PC B has no explicit debuggers defined (thus it has by default only FPdebug)

In the project options, I set on PC A to use the FPDebug. Fine, but now I open the project on PC B. There is no explicit debugger and I get a warning about the missing debugger despite the desired FPDebug is available.

So for example in my case several persons work on a project on different PCs. The idea is that there is a debugger defined for the project so that all programmers use this. Therefore it is of importance if the debugger is GDB or FPDebug. As the feature is currently, I cannot achieve this.
But OK, this is maybe a wish for the future.

I understand it is annoying that it goes into the lpi. It should be the lps.

lps, session files are usually not shared. Nor should they be. => so then the setting would not be an issue for others.

Muso

  • Sr. Member
  • ****
  • Posts: 274
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #92 on: December 07, 2021, 09:43:23 pm »
unknown: red with no further mark
good/valid: red witch check-mark
bad: orange
disabled: green

After setting the breakpoint it is red and unknown, see the attached screenshot
Then I run the program in Release mode and stop it subsequently.
result: the breakpoint became green and the context menu says invalid, see the second screenshot

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 7697
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #93 on: December 07, 2021, 10:34:26 pm »
Noted, please report the breakpoint issue.

I have to check what is supposed to happen, but got other more pressing issues now.

Muso

  • Sr. Member
  • ****
  • Posts: 274

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 7697
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #95 on: December 07, 2021, 11:59:23 pm »
ok, a few words on the uuid.

Moving it to lps, is obviously the important bit.

Storing "FpDebug" or "Gdb" in the LPI is not helpful.

For starters, you could install LazDebuggerFpGdbmi, which mixes both. But if the lpi has "FpGdb" then that gives an error for anyone that has not got it installed. (Yet actually, that scenario will happen....)

More important:
- If you want specific setting for a debugger stored with the project, then the class is not enough.
- You only ever need, to force everyone on the team to a specified debugger, If there is a problem with other debuggers.

But that problem, may not be solved by the class. Some debuggers on some OS have an option to force a console. If that is needed for the debugging, then the option must be included too.

The *long* time plan therefore is, that you should be able to chose from:
- UUID in lps
- a complete config (class, and options) in lps
- a complete config (class, and options) in lpi

Maybe even more than one complete conf, and then the ability to select (that selection going into the session).

But that will take some time to do.


zhuyl

  • New member
  • *
  • Posts: 6
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #96 on: December 11, 2021, 06:27:22 am »
I found this problem: in the child form inherited by the form, if an event exists in the parent form, double-clicking the event in the child window is used to overwrite, and sometimes the procedure existing in the form is regenerated. There is a test case in the attachment. When in the uGoodsDetail form, double-click Createt and other events (the parent form has), and select Create Override will repeatedly generate InitStock and SaveCombineOrSplit.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4051
  • I like bugs.
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #97 on: December 11, 2021, 10:56:10 pm »
@zhuyl, please report the bug, but make a minimal simple example to reproduce it.
The project you uploaded requires extra packages and is big.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Alextp

  • Hero Member
  • *****
  • Posts: 1577
    • UVviewsoft
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #98 on: December 16, 2021, 12:35:09 pm »

zhuyl

  • New member
  • *
  • Posts: 6
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #99 on: December 18, 2021, 12:12:37 pm »
I found this problem: in the child form inherited by the form, if an event exists in the parent form, double-clicking the event in the child window is used to overwrite, and sometimes the procedure existing in the form is regenerated. There is a test case in the attachment. When in the uPrintBarCode form, double-click Createt and other events (the parent form has), and select Create Override will repeatedly generate InitPrint()
« Last Edit: December 18, 2021, 12:47:48 pm by zhuyl »

ChrisR

  • Full Member
  • ***
  • Posts: 234
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #100 on: December 25, 2021, 08:27:34 pm »
I do think this Lazarus 2.2 milestone issue can be resolved by changing a single line of code
  https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39293
specifically, `lclplatformdef.pas` should be modified to that

{$IFDEF darwin}{$DEFINE WidgetSetDefined}
lpCarbon;
{$ENDIF}

should read

{$IFDEF darwin}{$DEFINE WidgetSetDefined}
lpCocoa;
{$ENDIF}

This would make lazbuild consistent with the Lazarus IDE, would use a supported widgetset, and would simplify documentation describing how to build cross platform projects.

0kulist

  • Newbie
  • Posts: 1
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #101 on: December 30, 2021, 11:09:37 pm »
Hello,
Just an annoying unexpected behavior of TFloatSpinEditEx component from LazControls on Mac OS 10.14. When clicking Up button - value decreases, with Down button - increasing. Somehow vice versa. On Windows - working as normal TFloatSpinEdit.

Why not TFloatSpinEdit ? Because of FocusOnBuddyClick.

Same behavior with Lazarus 2.0.12 on Mac, with fpc-3.2.0 and fpc-3.2.2.

P.S. Same for TSpinEditEx.
« Last Edit: December 31, 2021, 10:06:06 am by 0kulist »

VTwin

  • Hero Member
  • *****
  • Posts: 1089
  • Former Turbo Pascal 3 user
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #102 on: January 01, 2022, 11:29:44 pm »
Hello,
Just an annoying unexpected behavior of TFloatSpinEditEx component from LazControls on Mac OS 10.14. When clicking Up button - value decreases, with Down button - increasing. Somehow vice versa. On Windows - working as normal TFloatSpinEdit.

Why not TFloatSpinEdit ? Because of FocusOnBuddyClick.

Same behavior with Lazarus 2.0.12 on Mac, with fpc-3.2.0 and fpc-3.2.2.

P.S. Same for TSpinEditEx.

Best to post this on the Cocoa Widgets board.
“Talk is cheap. Show me the code.” -Linus Torvalds

Free Pascal Compiler 3.2.2
macOS 10.13.6: Lazarus 2.2.0 (64 bit Cocoa)
macOS 12.0.1: Lazarus 2.2.0 (64 bit Cocoa M1)
Ubuntu 18.04.3: Lazarus 2.2.0 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.2.0 (64 bit on VBox)

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 7697
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #103 on: January 03, 2022, 08:08:43 pm »
I separated the TSpinEdit Min/Max discussion.

It is now at:
https://forum.lazarus.freepascal.org/index.php/topic,57722.0.html
« Last Edit: January 03, 2022, 08:11:12 pm by Martin_fr »

BSaidus

  • Sr. Member
  • ****
  • Posts: 406
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Lazarus Release Candidate 2 of 2.2.0
« Reply #104 on: January 04, 2022, 08:38:54 pm »
Hello.
I have a suggestion about the system font used by the IDE
On Windows 7 is "Segoe UI 9", on XP "Tahoma 9",
So What if adding in the IDE Option a possibility to change the IDE default font ( Object inspector, Component Tab, .... ).
Currentely I recompile a whole IDE with changed font to make it correspond to my wishes.

Thanks.
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

 

TinyPortal © 2005-2018