Later versions Please use the gitweb log at http://repo.or.cz/w/kdbg.git to browse the changes. Version 2.0.4 Fixed encoding of the Czech translation thanks to Jakub Galgonek. Added support for QString in Qt4's debug libraries. Fixed that the debugger window really comes to the foreground and receives the focus when the debuggee stops at a breakpoint, when this option is on (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=171845). Added a filter edit box to the Attach to Process dialog to improve usability. Version 2.0.3 Fixed parsing of gdb output that mentions "operator<<", "operator>>", "operator<", and "operator>" within text delimited by angle brackets <>. This fixes a crash when any such function is disassembled and other misbehaviors. Fixed parsing stack frames that mention "operator<<" or "operator<". Thanks to Charles Samuels, who pointed out the problem and provided an initial fix. Version 2.0.2 Fixed stack display for functions in an anonymous namespace and for functions whose names involve template parameter lists (thanks to André Wöbbeking). Fixed environment list which would add back the entry from the edit box even if it was just deleted. Fixed that the Run/Continue button was enabled while the program was running. Fixed parsing of NaN (Not a Number) floating point values. Version 2.0.1 Updated Hungarian translation (thanks to Tamas Szanto). Worked around gdb 6.3 crashes at "info line main" command (thanks to Stefan Taferner). Updated XSLT debugger parser for xsldbg >= 3.4.0 (by Keith Isdale). Version 2.0.0 References and const types are treated like the base type (thanks to Shaheed). Fixed parsing of large arrays with many different values, which were terminated by "...". Fixed the kdbg.desktop file: Encoding is UTF-8, install in XDG menu location. Fixed PS_COMMAND detection for Solaris' /bin/sh. Version 1.9.7 Added a new animated button in the toolbar. Fixed Norwegian translation file names. Version 1.9.6 "" in register dumps was not parsed correctly. Fixed that variable popup location was computed incorrectly if tab width is not 0. Updated the manual. Implemented printing of Qt4's QStrings. Version 1.9.5 Fixed some issues when the items in the environment variable list are selected. Added a command line option to attach to a process (thanks to Matthew Allen for the initial code). Fixed the "Using host libthread_db" error message properly. Fixed inappropriate icon sizes. Version 1.9.4 Updated the build system to the latest auto* tools. Worked around the problem that gdb reports "Using host libthread_db" on Fedora Core when it processes the file command. Version 1.9.3 Improved editing of values; it is now possible to edit variables also in the watch window. Version 1.9.2 The previous security fix only protects against accidents, not attacks, as Matt Zimmerman pointed out. Did it right this time. Basic editing of values in the local variables window is available. More refinements are still necessary. Version 1.9.1 Fixed security flaw regarding the program specific debugger command. Configurable key bindings. Version 1.9.0 Program arguments that are file names can be browsed for. Added XSLT debugging (using xsldbg) by Keith Isdale. The program counter can be changed via point and click. Improved register formating by Daniel Kristjansson. "Orphaned breakpoints", i.e. breakpoints that gdb cannot set immediately, can be set. This helps debug shared libraries and dynamically loaded modules. Version 1.2.10 Fixed the "Using host libthread_db" error message. Fixed inappropriate icon sizes. Version 1.2.9 The previous security fix only protects against accidents, not attacks, as Matt Zimmerman pointed out. Did it right this time. Version 1.2.8 Fixed security flaw regarding the program specific debugger command. Version 1.2.7 Fixed parsing of stack frames for recent gdbs. Support vector registers (thanks to Daniel Thor Kristjansson for initial code). Work around bug in some gdbs which inhibits printing of QString values. Version 1.2.6 Opening the Find dialog no longer toggles a breakpoint. Make mouse wheel work (again) in source, variables, and watch windows. When a pointer to a struct is expanded the struct is also expanded. Improved toolbar and application icons. Version 1.2.5 Now compiles for KDE 3. Fixed make install for builddir != srcdir. Fixed status bar flicker. This gives a nice speed-up by a factor of 4 when the contents of an array of 50 QStrings are displayed! Version 1.2.4 Now compiles for KDE 3 (Beta1). Support QString of Qt 3.x. Improved (and fixed) the display of arrays with repeated values. Fixed crash when a file is reloaded while disassembled code is displayed. Fixed parsing of stack frames involving signal handler invocations. Version 1.2.3 Fixed invisible toolbar under KDE 2.x (really, this time, I promise). Fixed crash when no line has the cursor (empty files). Don't display a blank page when a non-existing file was tried to open. Version 1.2.2 Fixed a special, but common case where removing a breakpoint didn't work but add more on the same line instead (thanks to Ron Lerech). Fixed invisible toolbar under KDE 2.1.2 (thanks to Neil Butterworth). Fixed compilation for gcc 3.0 (thanks to Ben Burton): Fixed make install if srcdir != builddir. Changed encoding of German translations (and also Danish, Italian, Norwegian, Romanian, Slovak, Swedish) to UTF-8, which fixes message strings under KDE2 (at least for German - couldn't test the others). Version 1.2.1 Working directory can be browsed for. Added context menu to move the selected expression from the local variables window to the watch window. Fixed crash when environment variables are removed. Fixed problems with trailing backslashes in watched expressions. Fixed compilation on FreeBSD (openpty). Version 1.2.0 Translations for: Hungarian, Japanese, Norwegian (Nynorsk), Serbian, Turkish Updated the User's Manual (English, Russian (thanks, Ilmar!), German). Version 1.1.7beta1 Improved the program icon; made the installation more KDE2 compliant. Enabled mouse wheel scrolling at various places. Version 1.1.6 Added memory display. Single-stepping by instruction. Watchpoints. Finally! (On Linux/i386 works best with gdb 5!) Version 1.1.5 Made Delete key work in the watch window. Breakpoints can be enabled and disabled in the breakpoint list. Detach from debugged program on exit (and when new program is debugged). Added a list of recently opened executables (thanks to Thomas Sparr ). Version 1.1.4 Fixed endless loop on shutdown. Brought in line with KDE 1.91 (KDE 2 beta). Version 1.1.3 Debugging of multi-threaded programs. Requires a gdb that supports multi-threaded programs, like gdb 5. Debugger window pops into the foreground when the program stops. Made tab width a user-settable option. Version 1.1.2 Display disassembled code. Version 1.1.1 Use the KDE system fixed font for the source code window. By default, do not log communication with gdb. Added an integrated output window (based on code by Judin Max). Program specific settings can be set. In particular: the debugger command (required if you are debugging remote devices), the terminal emulation needed for the program. Verison 1.1.0 Use docking windows thanks to Judin Max . Added a register dump window. Based on code by Judin Max. Implemented "balloons" (tool tips) that show variable values. ./configure fix for NetBSD thanks to Berndt Josef Wulf . There's now a Swedish translation thanks to Örjan Lindbergh . Version 1.0.2 Save and restore watched expressions. More adjustments for the KRASH release. Show count in QStrings like in normal C strings instead of repeating the characters. Use QListView instead of KTabListBox. Version 1.0.1 Added a hack to set a remote target. Thanks to Johnny Chan . Display function arguments. Based on suggestions by Johnny Chan. KDE 2 fixes. Support builddir != srcdir. Version 1.0.0 Brought up-to-date for latest KDE 2. Version 1.0beta3 Removal of minor misfeatures. Prepared for KDE 2 and Qt 2 (it's a configure option: --with-kde-version=2). Added Russian documentation (thanks to Ilmar S. Habibulin ) and German documentation. There is now a Spanish translation thanks to Manuel Soriano . Version 1.0beta2 Recognize strings with repeated characters: 'x' . Fix structs with no (additional) data members and other fixes for gdb 4.18. Save window size across sessions. There is now an Italian translation thanks to Massimo Morin . Version 1.0beta1 Fixed non-displaying QString (Qt2) with certain gdb 4.17's (at least mine here, of SuSE 6.1, had a problem :-) Fixed cases where gdb commands where executed after debuggee has exited. Do not execute gdb commands after an interrupt. Updated some translations. Still most are incomplete. Please help! There is now a Polish translation thanks to Jacek Wojdel . Version 0.3.1 The working directory for the program being debugged can be set (Execution|Arguments). There's now a global options dialog in place (File|Global Options). At the moment the debugger program (which must be gdb, but it could be an experimental gdb version, for example) and the terminal for program output can be specified. Fixed Makefiles to support make DESTDIR=/tmp/foo install (which is needed by packagers and to create relocatable RPMs). There's now a Danish translation thanks to Steen Rabol . Version 0.3.0 Starting with this version, Qt 1.42 and KDE 1.1 is required. Ported to Qt 2.0 and KDE post-1.1! KDbg now runs with both KDE 1.1 (using Qt 1.42) and the latest experimental KDE. You can of course run one version and debug programs written for the other version. KDbg can now display Qt 2.0's QString values (which are Unicode strings)! Environment variables can be set. Changes become effective the next time the program being debugged is run. The breakpoint list has been improved. It disables command buttons at times when it is not possible to change breakpoints. The icons that show the breakpoint status are now the same as those in the source window. Popup menus (context menus) for frequently used commands have been added to the source code window (thanks to Tom Nguyen ) There's now a Russian translation thanks to Ilmar Habibulin . Internal restructuring. These changes are invisible. They just make future extensions less cumbersome. Version 0.2.5 This is the last version that supports Qt 1.33 and KDE 1.0. There's now a Czech translation thanks to Martin Spirk . Recognize and report when gdb dies unexpectedly. This happens commonly when writing CORBA programs since gdb obviously has problems in debugging C++ classes with virtual base classes. Added conditional breakpoints and ignore counts. Version 0.2.4 Added a toolbar button to load the executable. The button to open a source file is still there. I hope it's clear which one does what. Attaching to a running process is now possible (Execution|Attach). Made more visible when gdb is busy using a gear wheel in the upper right corner of the window like kfm. Made the KTreeView widget more flexible by adding a bunch of virtual keywords. (No, this doesn't have any influence on the look and feel of KDbg.) While doing that, I fixed a small repainting bug. ChangeLog starts here.