Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was…
you wrote 20 lines
Maybe you should start thinking about integrating a debugger in lazarus?

Mailing lists / lazarus / 2001-04
22 messages · 12 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was…
Maybe you should start thinking about integrating a debugger in lazarus?
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
Anyone know of a location that has a good description of the available functions and the process of using libgdb??? I can look at the source but I would like to find some docs too.
Shane
I finally found the bug that was causing the Win32 SpeedButton problem. It was actually a…
That's great news, I'm looking forward to the nightly builds. Maybe I'll even be able to contribute!
Chris
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
you wroteAnyone know of a location that has a good description of the available functions and the process of using libgdb??? I can look at the source but I would like to find some docs too.
I don't use libgdb, I use gdb as an external process. It is a bit more stable.
Marc
I finally found the bug that was causing the Win32 SpeedButton problem. It was actually a…
you wroteI finally found the bug that was causing the Win32 SpeedButton problem. It was actually a Lazarus bug and had nothing to do with GTK. In fact I don't know how the Linux version was working correctly with the bug.
Wow! This is really something. Can you reveal what you found? I supposes it MUST have had some sort of an impact on the Linux side as well.
What about the severe memory leak I found? Did the bug have anything to do with it?
Markku
Yes We know about the class/object issue for almost 2 years, but I still don't know why…
Yes and no:
- You can't derive a class from an object or vice versa.
- You can use the objects independently.
Using classes and objects intermixed is not really a beautiful programming style, though, also it is bound to producs hard-to-understand code.
Michael.
I finally found the bug that was causing the Win32 SpeedButton problem. It was actually a…
Congratulations, Michael.
I am curious though, what the problem was, I will be checking your patches carefully the next days.
Vincent
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
Florian Klaempfl wroteMixing both OOP models isn't a problem but e.g. streaming is a problem.
Okay, this is obviously correct.
TBreakpoint depends on the TV streaming. This is necessary because the breakpoints are stored in the desktop file. But using TV streaming in Lazarus is nonsense.
Yes
- Sebastian
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
Mixing both OOP models isn't a problem but e.g. streaming is a problem.
From ide\text\fpdebug.pas:
PBreakpoint=^TBreakpoint;
TBreakpoint=object(TObject)
typ : BreakpointType;
state : BreakpointState;
owner : PBreakpointCollection;
Name : PString; { either function name or expr to watch }
FileName : PString;
OldValue,CurrentValue : Pstring;
Line : Longint; { only used for bt_file_line type }
Conditions : PString; { conditions relative to that breakpoint }
IgnoreCount : Longint; { how many counts should be ignored }
Commands : pchar; { commands that should be executed on breakpoint }
GDBIndex : longint;
GDBState : BreakpointState;
constructor Init_function(Const AFunc : String);
constructor Init_Empty;
constructor Init_file_line(AFile : String; ALine : longint);
constructor Init_type(atyp : BreakpointType;Const AnExpr : String);
constructor Load(var S: TStream);
^
TBreakpoint depends on the TV streaming. This is necessary because
the breakpoints are stored in the desktop file. But using TV streaming
in Lazarus is nonsense.Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
you wroteHave you , as Peter suggested, to see how it does it? Does it use libgdb? Or does it do something else? It seems to me that if the FPC guys have already figured it out, why not capitalize on that and reuse (or steal code) where possible.
Even more, I think we should think about a common interface to libgdb with some helper classes, i.e. that the non visual part is common for all IDEs. I know the classes/objects thing is a problem but maybe we can solve it.
Congratulations, Michael. I am curious though, what the problem was, I will be checking…
BTW: WHich debugger are you using on Linux?
I use gdb when I do use a debugger. For this fix though I didn't use a was simply a stare at the code and trace through
it by hand solution. Anyway I was working on Windows to figure it out and trace it down.
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
Florian Klaempfl wroteEven more, I think we should think about a common interface to libgdb with some helper classes, i.e. that the non visual part is common for all IDEs.
Yes
I know the classes/objects thing is a problem but maybe we can solve it.
We know about the class/object issue for almost 2 years, but I still don't know why it is a problem at all? Is mixing both OOP models in a single app really a problem?
- Sebastian
I finally found the bug that was causing the Win32 SpeedButton problem. It was actually a Lazarus bug and had nothing to do with GTK. In fact I don't know how the Linux version was working correctly with the bug.
I have an issue I want to deal with that involves the default font used in Win32 first before committing the code.
We should have usable nightly builds of Win32 Lazarus IDE by tomorrow.
Congratulations, Michael. I am curious though, what the problem was, I will be checking…
Congratulations Michael!
Think I ran into that problem when I made the ShowMessage-functions. There was something wrong with the drawing of pixmaps in Linux but I decided to use a workaround.
BTW: WHich debugger are you using on Linux? I'm not satisfied with ddd because it sometimes locks up my system. There's a nice debugger from the gtkAda project but that one lacks pascal support and I can't compile it to introduce the missing module
bye,
Stefan
Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was…
They are empty in cvs... yes. I already can start an app in debug :) I haven't done much lately, but someone can add the calls to the IDE,.
Marc
Congratulations Michael! Think I ran into that problem when I made the…
The FPC team uses gdb with patched Pascal support and/or the Linux IDE which has the same. (though the IDE there is still somewhat unstable).
Same for FreeBSD. (The status of Lazarus on FreeBSD is the same as on Linux, the FreeBSD 1.0.5 snapshot in the pub/fpc/snapshot directory on ftp.freepascal.org will probably compile Lazarus fine)
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff. Peter
We could convert the object's in fpdebug to TObject's. Then we could inherit from them.
Shane
Is the plan to interface with gdblib or are we planning on writing our own? I may start…
Is the plan to interface with gdblib or are we planning on writing our own? I may start looking into this if I can figure it out.
Have a look at the fpdebug.pas from the textmode IDE for all the debugger stuff.
Peter
Have you , as Peter suggested, to see how it does
it? Does it use libgdb? Or does it do something else? It seems to me that if the FPC guys have already figured it out, why not capitalize on that and reuse (or steal code) where possible.
Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was…
Florian Klaempfl wroteMaybe you should start thinking about integrating a debugger in lazarus?
Actually Marc has started that. He has the shell functions setup for it ... they're empty :-) but they are setup for it.
Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was…
Is the plan to interface with gdblib or are we planning on writing our own? I may start looking into this if I can figure it out.
Shane
Congratulations, Michael. I am curious though, what the problem was, I will be checking…
Actually it was a very simple mistake of using the wrong 2 variables. StretchBlt was using the destination pixmaps height and width for doing the copy instead of the source height and width. When the source pixmap was smaller then the speedbutton pixmap who knows what it was trying to copy and to where. That is why I am surpised that Linux didn't have a problem with it. There was also a problem with the size of the source glyph rect used when only one glyph existed but that wasn't as much of a problem.