I understand that the OS4 port of GDB is somewhat out of date, and also somewhat buggy. What are the complaints about the current version, and what needs done to bring it up to snuff with the rest of the world?
For me current version of GDB, just freeze all the OS just after some steps. I.e. you load binary into it, do "disas", step, step , maybe one breakpoint, and then - freeze.
The public one, from latest SDK. Or you ask what is GDB itself ? (debugger+tracer, etc. Very common in unix world for debugging, finding the bugs, disassembling (making assembler outputs) and jump deep into details). That is one of important programms which we "Almost have" on os4, and which will help a lot many programmers to develop their apps (can't say for everyone, but i am personally will be in interest to have normal version of it on os4).
Personally, I'd love to see some graphical front end to it. I believe there's something called DDD? Anybody have any idea whether it could be ported, or something similar written?
a GUI would surely be good to have. Would DDD be a reasonable inclusion in a GDB bounty, or would it make more sense to have a followup bounty for the GUI?
Hum, I really really would like to see a tool like muforce/muguardianangel on AOS4.1.
Mainly because grim reaper not open his window often on AOS4.1 (even verry rarely) and just the pointer freeze that mean nothing to send to the programmers for debugging/improving his program...
A1200+Mediator+VooDoo3+060/50+96mo+IIYAMA 17"+CD,CDRW,ZIP SCSI-KIT SAM440EP on Mapower 3000+AOS4.1
In such eventuality you can try to see if C:DumpDebugBuffer might give some information. The problem when the system freeze is that it's generally due to a problem related to Reaction (a fault in the program not necessarily in Reaction) and as such any other GUI operations are frozen hence GrimReaper can't popup its window (nor MuGardianAngel or MuForce would, and BTW many functions from those software are builtin AOS4.1...).
GDB do many-many thinks. Tons of docs about GDB are avail in the net (just in google: gdb documentation). There is one of them. And there is wikipedia description. To easy understand - GDB is the best and widely usable debugger in unix world (so, it's mainly for programmers/coders/hackers/etc).
We already have port of it on OS4, and, it can starts, it can load the ELF files, and process some disassembly outputs, works a bit, but, have many bugs, which cause frezes of OS, hatls, gurus and reboots. And the main goal of topicstart, make a bounty for "normal port" of GDB, which will works fine, will up2date, and we all will enjoy by it usage.
That must be done by Hyperion of course (if they use it, and have it in SDK), but by some reassons is not, and version which we have from they buggy like hell.
@Mrodfr DumpDebugBuffer are very usable utility when you have freeze of os. You just reboot, run that tool, and can see what and why cause the problems and that crash (i.e. it "save" GR output for you).
this drawer is simply a mass of different kind of files with no logical orders and a lots of informations packed together. Verry hard to drink IMHO....
A1200+Mediator+VooDoo3+060/50+96mo+IIYAMA 17"+CD,CDRW,ZIP SCSI-KIT SAM440EP on Mapower 3000+AOS4.1
From my experience the main issue with gdb is the same as any AmigaOS debugger in that they will place breakpoints in shared code, which can lead to a hang.
You have to be really careful when placing breakpoints or stepping through code. Do not step into system areas and do not place breakpoints in code run under other processes especially input device.
Yes gdb is bloated, arcane and not Amiga OS specific but it does work.
a GUI would surely be good to have. Would DDD be a reasonable inclusion in a GDB bounty, or would it make more sense to have a followup bounty for the GUI?
I'm not sure. Glancing at some web pages describing DDD, it looks quite comprehensible, and it is (as usual) built using a GUI tool from the *N*X world (Tk, I think it was), so maybe a direct port is a big job. Maybe it would be wiser to suggest drawing inspiration from it for a simpler native frontend.
For me personally, I just want something which will let me see the source code in a "navigatable" way like in an editor (i.e. not line-oriented), set breakpoints and watches using the mouse, inspect variable contents by clicking and/or hovering over names in the code, and single-step, step into, trace out, run to breakpoint etc. by button clicks and/or shortcut keys (make that *and*, actually; it's useful to be able to single-step by keypress sometimes, and mouse click other times).
I suddenly remember using a fairly primitive debugger which nevertheless did all of this (AFAIR) on AIX about 10 years ago; it was called XDB, I believe.
Today I mainly use Toad for Oracle (for PL/SQL developing and debugging) and Visual Studio (for C# .NET), both good examples of the kind of user interface I find productive.