Recent

Recent Posts

Pages: 1 ... 8 9 [10]
91
General / Re: Compilation raised exception internally
« Last post by TRon on March 27, 2024, 01:11:48 pm »
It is package installing containing components and code built over last 25 years. I use them for all my coding. They are very specific for my need.
Ok, but more important to know, I guess, is how it is fitted into your build-process.

I will try add this to my package next time before building
The funny thing is, I just finished building trunk/trunk with debug for both (no other options) with FPCUpDeluxe and succeeded, though I am on Linux x86_64.

Code: [Select]
New install.
Date: 27-3-24 13:00:42
Location: /media/ramdisk/install

FPC update at: 27-3-24 13:00:42
FPC symbolic name: 3.3.1-15476-gfea8050457
FPC URL: https://gitlab.com/freepascal.org/fpc/source.git/
FPC previous rev/hash: FRET_UNKNOWN_REVISION
FPC new GIT hash: fea8050457

Lazarus update at: 27-3-24 13:04:55
Lazarus symbolic name: main_3_99-1967-g55cc226024
Lazarus URL: https://gitlab.com/freepascal.org/lazarus/lazarus.git/
Lazarus previous rev/hash: FRET_UNKNOWN_REVISION
Lazarus new GIT hash: 55cc226024
92
Yes, that could/should be seen as a bug.
is your being aware of the bug sufficient or would you like me to file a bug report for it ?

Added to the list of items in this thread (in my original opening post).

Also, you were the one who pointed out that nested values are "jumpled": https://forum.lazarus.freepascal.org/index.php/topic,66143.msg511387.html#msg511387
And internally, this falls in the same category.



Code: Text  [Select][+][-]
  1. PPInstruction($1234)^^: $2345^: (...)
The 2nd address of the intermediate pointer
It would be a good feature because that allows the user to verify the pointer is pointing into the expected block of memory and not some random block that happens to yield reasonable values.

Ok. In that case

1) the first pointer should have only one "^"

2) How to display in the main watches area when expanding?
I mean expand should probably still show the final deref value....

I have thought about allowing to expand pointers (even to non struct/array). E.g. expanding ^double would just show the double number (in the expanded row). A quick way to see it without address (if you don't want to change display format) in case of narrow columns.

But even then, if you had ^^^record => you would likely want to see the fields of the record.

And it's fine, but one minor detail.
- if you have a display format that shows the address(es) in the value column => then the top-level line shows all the addresses anyway => so all info is present.
- if your display format does exclude the address, and you use the "address column" => then that only shows the first deref address

So in the 2nd case, some addresses wont be shown...



In the case of FpDebug, I think that  having a button that doesn't even need to be clicked, just hovered upon, to present some "formatting trick" reminders would be useful.
Maybe...

Would depend on getting feedback on which "tricks" other people would find useful. And yes, a bit of a catch22: Many of those who would find them useful wont know them, and therefore can't give feedback.
But those who do, might have ideas what they think others would....

Also, it isn't as straight forward. Some of those rely on the backend. The ".." only exists in FpDebug (as do all of those https://wiki.freepascal.org/FpDebug-Watches-Intrinsic-Functions )

Which means, not only does the list have to know the backend... There is also the case that a user learns about ".." and then need to remote debug with gdb, and suddenly it stops working.

Then again, gdb has intrinsics too. But - within the IDE - that has not been tested (and may depend on gdb version).


Quote
For instance the trick about "@textvar[0]" to not have every character individually enclosed in single quotes is quite useful
While it might be worth advertising, I wouldn't name it a "trick".

It is normal pascal syntax. You simply watch an expression that returns a "pchar" => so you get to see a pchar. (which is displayed as string)


FpDebug does casting and converting. And hopefully the same way as FPC. (Gdb does not always do it the same way...)

That includes
Code: Pascal  [Select][+][-]
  1. type  TFoo = packed record a,b: byte; end;
  2. var   foo: TFoo;
  3.       bar: word;
  4. begin
  5.   foo.a := 1;  foo.b := 2;
  6.   bar := word(Foo);

You can enter "word(Foo)" as watch.


Quote
Of course, as previously mentioned, this isn't really about formatting, it's really a feature request: a little cheat sheet window with useful formatting tricks.  Also, initially it would only have a few, non-obvious, tricks which could be added on as new ones are thought of.  IOW, initially having just 3 or 4 tricks (or even less) in the little window would be fine.

Maybe you can open a new topic on that (and moderate the topic), and see what others think.

In general, the debugger has tons of features that are probably seldom used.

* E.g. using the breakpoint hitcount.
If some code (testcase, that always runs the same behaviour) which is deeply nested in a loop, and fails after a certain amount (> 100) of calls, then just setting a breakpoint wont do it. You would have to single step more than a 100 times over the problematic line.
- set a non-breaking breakpoint, run the app, when it fails read the "pass count" of the breakpoint. Note that it passed (e.g.) 123 times.
- restart the code, this time with a breakpoint that has its hitcount set to 123 (so when it is about to be passed for the 123 time, it will stop).

* The history window
- if you debug focus sensitive code
- export the stack and watches of a crash, to be reviewed by a colleague.

* even watchpoints => I suspect are not as well known as they deserve

* pausing other threads (beta-ish)

* enable/disable breakpoints as other breakpoints are passed (with conditions on the other breakpoints)

But all that needs to go into another thread (if of interest)




Btw: Blaise Pascal Magazine has some Articles on the Debugger (starting most basic, IIRC in issue 105 with stepping)...
They offer a free subscription. I don't know if you can download the old one though (the German/Brasil subscription seem to allow that, by their description)
93
FV/Textmode IDE / Re: IDE instability on Raspberry Pi?
« Last post by af0815 on March 27, 2024, 12:14:49 pm »
There's definitely an issue here. Different Pi, fresh OS, fresh Free Pascal; and the IDE hangs if it is left idle for an extended period of time. It seems to be around 20-30 minutes.
Have you tired to start from a terminal and activated logging (https://wiki.freepascal.org/LazLogger), yes lazarus is normal build with logging. So it is possible to see what it is doing for this log time.
94
General / Re: Compilation raised exception internally
« Last post by MISV on March 27, 2024, 11:52:22 am »
Building in FPCUpDeluxe did not work. But I will try remove all config files.

Rebuild using trunk.

Then install my own package using "-Ur"
95
Windows (32/64) / Re: Complex package installation problem
« Last post by wp on March 27, 2024, 11:38:02 am »
Would you like to publish it? GitHub? Or send me a PM link to a private cloud with the source, and I could put it on CCR if it is in some acceptable state.
96
General / Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Last post by paweld on March 27, 2024, 11:32:58 am »
generator allows you to generate a file with only 400 stations, you must use the -4 parameter.     
The checksum for such a file with 1 billion lines is: b957a25f8f92eab1afe5968c5ee85b05303647edfcd6a6dd6b5eadcfdce5464c
97
General / Re: Compilation raised exception internally
« Last post by MISV on March 27, 2024, 11:32:53 am »
@marcov
In a manual build the build option OPT="-Ur" seem to suffice

I will try add this to my package next time before building
98
General / Re: Compilation raised exception internally
« Last post by MISV on March 27, 2024, 11:32:05 am »
@marcov
In a manual build the build option OPT="-Ur" seem to suffice

Since MISV did failed to share anything else besides the error and mentioning FPCUpDeluxe I have no idea if MISV can make use of it somewhere in the build-process being used. I am unfamiliar with unit UmsSysIO...

It is package installing containing components and code built over last 25 years. I use them for all my coding. They are very specific for my need.
99
FPC development / Re: Have anyone develop UEFI API for Free Pascal at current times?
« Last post by TYDQ on March 27, 2024, 11:27:33 am »
So how long does the UEFI support becomes one of the valid targets in Free Pascal compiler or link the GNU-EFI,POSIX-EFI or EDK2 as a way to support the UEFI to create a UEFI executeable object files?
100
Graphics / Re: Understanding and adjusting BGRABitmap's handling of line distances
« Last post by Dzandaa on March 27, 2024, 11:24:39 am »
Hi,

In BGRABitmap, you also have: FontFullHeight.

Try to play with it?

Also look at:

https://wiki.freepascal.org/BGRABitmap_tutorial_12

And

https://wiki.lazarus.freepascal.org/BGRABitmap_tutorial_Font_rendering

B->
Pages: 1 ... 8 9 [10]

TinyPortal © 2005-2018