Jeff Duntemann's Contrapositive Diary Rotating Header Image

February 13th, 2009:

KDE Follies

I’ve been busy. And I’ve had headaches. This is mostly why you haven’t heard from me in a few days. I wondered for awhile if I was getting headaches because I was busy, but I’m coming around to a different point of view: I’m having headaches because I’ve been fooling with KDE.

I used to like KDE, until KDE 4 happened. Kubuntu 8.04 would not install correctly on two of the three machines I tried it on, and on the third it malfunctioned weirdly after a couple of days of very light use. I had almost no trouble with Kubuntu 7.10, apart from its failing to set up a network printer. That was KDE 3.5, which I liked. The press on KDE 4 was not good, and I figured I would let Kubuntu rest for a couple of cycles to see if the KDE 4 codebase would shake out a little.

I might have waited for 9.04 except that I couldn’t get the KDbg documentation to run under GNOME. I like KDbg a lot; it’s a beginner-friendly front end to the highly human-hostile gdb debugger engine. I’d like to cite it in my book, but there are a couple of things about it that I just can’t figure. Press F1, right? Well, when I do that, I get a mysterious error dialog:

Could not launch the KDE Help Center:

Could not find service ‘khelpcenter’.

I assumed at first that this is what happens when you have a KDE app running under GNOME, but the kate editor is also a KDE app, and its help document comes up without any trouble. The khelpcenter4 package is installed on the system. The obvious thing to try is to run KDbg under KDE, and see if things work any better.

Of course, to do that you have to have a running install of KDE.

I downloaded the latest Kubuntu ISO (in 13 minutes on BT!!), burned it to CD, and booted the live install on my SX270, the same machine on which Ubuntu 8.10 installed without a glitch. Kubuntu detected the monitor resolution, but…the display blacks out every six seconds for about three-fourths of a second. Otherwise (heh) it runs perfectly. The blackout is not a fade; the screen just turns black instantly. It made me a little nuts, but I suffered through this game of desktop peek-a-boo long enough to install KDbg. I pressed F1. Same dialog. KDE can’t seem to make its own help system work.

So KDE is on that certain list of mine right now. Even though it displays the assembly source for single-stepping, KDbg won’t display named initialized data in NASM executables, and the Memory window refuses to display anything, initialized or otherwise. Being able to inspect data in memory is mighty damned useful, and I’m starting to think that KDbg isn’t really set up to debug assembly language. Like almost everything else in the Linux world, it’s a C thing. Maybe there’s a magic command-line option that allows it to interpret stabs format debug data for assembly language, but there’s nothing much about it online. Clues welcome.

And Kate? The only thing it lacks is a shortcut for running make or launching a debugger, but that’s easy enough to do in the terminal window. It’s graspable enough for beginners, and that’s what I’m striving for here. Newcomers should not have to learn EMACS or gdb to make “Hello world” happen in assembly.

I don’t want to have to use gdb Insight (if there’s an uglier widget set than Lesstif’s I’ve yet to see it) but if I can’t get KDbg to browse data in memory, I may have to. And the decision has to be made soon. (I feel another headache coming on…)