Posts: 1014 from 2004/9/23
MorphOS already has a ton of (debug) features than can be enabled for debugging.
Yeah, but all this debugging options are annoying, tiring and slow because for whatever reason you have no version of MOS hosted on top of Linux or Mac (instead of Quark) so you cannot do nice fast (reboot os + app in fractions of a second) debugging on single machine with everything still running at basically native speed and your tools (text editors) staying up and untouched after full OS crashes and tons of debug output also basically not slowing down things much at all. And possibility to use gdb and hardware watchpoints and stuff.
As some people here know I use a PowerMac G4 933 Mhz for all my MorphOS software development and have all this stuff turned on. This system has two graphic cards. A Radeon9000 with 64MB and a Voodoo3 with 16MB of graphics memory. So you can clearly see it is at the lower end of all systems supported by MorphOS.
I have faster systems (like a 2 Ghz G5, iBook, Macmini,…) of course, but I mostly never use them, because I want to see sluggish software as soon as possible to point at it. When developing on a fast system you might not even notice design flaws or slow algorithms.
The boot time is usually not an issue. It is less than 30 seconds or so. Nothing to have a quick boot for. Just insert an SSD if you did not already. My PowerMac has a 64GB SanDisk SSD connected via an IDE2SATA dongle, so the 45MB/s are limiting the overall loading speed, but this is only an issue when loading bigger files like MPlayer, Wayfarer or Iris. MorphOS is usually very stable.
I also do not reboot my system that much during development. If something crashes I simply close the windows, minimize the shell and continue. Usually the system stays stable enough, which sometimes results in a desktop with 20+ iconified console windows I launched a binary from, that crashed. In very rare cases I kill the system, which is usually some missing result pointer check or a use after free issue.
One could say that compiling on such a system is slow, but thanks to the build in drive cache most file actions are buffered anyway. Sure this is not compensating the lack of processing power, but with a proper makefile handling dependencies it is not that bad.
I personally also do not wait for the compiling process to be done. We have multitasking, so there is no waiting. I clean up the source in the mean time. I revise and optimize code, add comments and useful debug lines. In the end this results in better source code, less bugs and therefor less debugging.
Speaking of gdb I actually have no clue about it’s state under MorphOS, but I think it works and is used. I personally just need a serial debug output to screen via Logtool, since all my functions have an entry and exit output, I usually can pinpoint a crash right away to the causing function anyway. All I need to do is turning debug on for all project files.
Same goes for memory violations. The function name is above and a hex dump shows the memories contents, so I even can identify the structure or data field by its contents.