Category Archives: Nemiver

GDB slowness

Since I’ve been hacking on the Nemiver debugger, I’ve been doing a lot of faux-debugging (i.e. start up debugger, step through a few lines, shut down). One thing I noticed very regularly was that there were times when I’d step into a function (usually a function defined in an external library), and gdb would grind away for several tens of seconds at 100% cpu before it finally arrived at the next instruction. Apparently this generally only happens on Debian-based distributions due to the fact that debugging symbols for ld.so are not shipped by default. Installing libc6-dbg solves this problem since this package also includes the symbols for ld.so. But it would be nice if debian-based distributions (in my case, Ubuntu) would automatically install debugging symbols for ld.so as a dependency of gdb, since without these symbols gdb becomes nearly unusable. So if you’ve been frustrated with a slow gdb on Debian or Ubuntu, do yourself a favor and install libc6-dbg.

Happy New Year

Happy new year to everybody. I had a nice relaxing week with family and also got to stand up for a friend’s wedding. It was a long needed break and the first vacation that I’ve had in a while where I actually felt recharged afterward. (My college engineering prof would say that’s the sign of a bad vacation, but oh well…)

So, finally back to some GNOME-related hacking. Here’s my belated Holiday gift to all of you brave enough to test-drive nemiver:

nemiver-file-list

I’ve implemented a list of source files that are extracted from the executable that is being debugged. So you no longer have to hunt around in the file system to open a source file and set a breakpoint, you can now choose from a list of valid source files.

There’s actually quite a few new things happening in Nemiver since the holiday break. Dodji added a basic text search, there have been several bugs fixed, and some significant performance improvements. Note that if you want to try out the new stuff in nemiver, you’ll also need gtksourceviewmm from svn.

Glad to see the GNOME subversion transition went smoothly. Like Steve, I’ve been thinking about playing around with git-svn since I’ve been fairly impressed with git. I’d be interested in hearing other people’s experiences with git-svn as well.

Bugzilla for Lunch

Over my lunch hour, I’ve started taking about 15-30 minutes of my day and going through the list of newly filed bugs, marking duplicate reports or applying the stock NEEDINFO responses for bug reports without good stacktraces. I can’t do any in-depth triaging, since I’m at work away from my development environment, but I figure that I can at least help cut down on some of the noise in bugzilla with only a little bit of effort every day.

I’ve been using and developing software on Linux for a little while now, but I’ve always felt slightly uneasy about my lack of detailed knowledge about the Linux kernel. So I picked up rlove’s kernel development book this past weekend and I’m about halfway through it already. I’m gradually beginning to feel more … what’s the opposite of uneasy? easy? at ease? Anyway, it’s quite good and well written. Highly recommended if you’re looking for a nice introduction to the Linux kernel.

Nemiver’s proceeding nicely to a 0.2 release which should be a lot more robust in a lot of ways, including better support for poorly-behaved versions of gdb.