cgdb-0.7.0 (03/21/2017) * Remove help2man dependency. CGDB has a good info page which should suffice. * The hlsearch option has been added to CGDB. This improves the searching and displaying of searching functionality within CGDB. By default the option is off. When enabled, and there exists a previous search, CGDB will display the search results using the Search highlighting group. The IncSearch highlighting group is used to display the active search. The hlsearch option highlights previous searches in the source window, the gdb window when in scroll mode and the file dialog window. * CGDB now supports showing assembly code! By default, CGDB will display source code when it is available and assembly code when no source code is available. The option 'set disasm' allows you to show mixed source/assembly when both are available. * Add support to enable/disable showing assembly code in CGDB. The default is disabled. The 'set disasm' enables showing mixed assembly mode by default. See the documentation for more information. * Add the :logo command to cgdb. This tells CGDB to display a logo in the source window. * Add an initial Rust syntax highlighter. * Support vi type j and k motions. Previously only typing j or k with out a number was supported. * Add support for marks. m[a-z] will set a local file mark and m[A-Z] will set a global mark. '[a-z] will jump to the corresponding local mark and '[A-Z] will jump to the corresponding global mark. As an added bonus '' will jump to the last jump location and '. will jump to the last executing line. The showmarks option was introduced to show the marks in the source window. It defaults to true. You can disable the viewing of marks using 'set noshowmarks'. * Add support to enable or disable color in the source window. The default is enabled. See the documentation for more information. * Add support for showing colors in the debug window. If gdb or the program being debugged output an ansi escape code representing color, https://en.wikipedia.org/wiki/ANSI_escape_code#Colors then CGDB will display the corresponding color instead of the escape code. This option is configurable with the set debugwincolor option. * Add the winminwidth option to CGDB. It controls the minimum width that a window can be resized. It corresponds to the winminheight option. This was introduced now that CGDB can have vertically split windows. * Add support for vertical or horizontal splitting of the CGDB/GDB windows. Thanks to Daniel Cohen for the original implementation of this idea! You can change the window orientation by using the command 'set winsplitorientation=horizontal or vertical'. horizontal is the default orientation. Type Ctrl-w to switch between vertical and horizontal viewing. * Remove the TTY mode and TTY window from CGDB. This previously allowed you to send input to the program being debugged through the TTY window in CGDB. It is better for the user to run their program in one terminal and attach to it with CGDB from another terminal in order to get terminal input and terminal output working correctly. * Add the -w command line option to CGDB. It directs CGDB to wait to start until either a debugger is attached to it, or until a key is written to it's stdin. This helps simplify debugging CGDB itself. * Added GDB scroll mode in addition to the existing GDB command mode. To enter scroll mode, type 'page up' when in GDB mode and to exit type 'q', 'i' or 'Enter'. In scroll mode, you can scroll through the GDB output. You can also search the GDB output with the /, ?, n and N keys. Marks are also supported. You can set a mark by typing m[a-z] and you can jump to a mark by typing '[a-z]. See the documentation for more details. * Extended support for the G command when in CGDB mode. The new supported syntax is []G, allowing users to jump to a specific line within the source file, rather than just the end of the source file. This is identical to the : command. * Added support for 'executinglinedisplay' and 'selectedlinedisplay' configuration options. See documentation for full explanation. This allows you to configure how CGDB displays both the currently executing line and the currently selected line. The default for executing line is set to longarrow. The default for selected line is set to block. The 'arrowstyle' option has been deprecated (but still supported) and users should use the 'executinglinedisplay' option instead. * CGDB now only supports ncurses. Support for curses was removed. The curses support was previously very out of date and untested. If curses support is needed, please let us know. cgdb-0.6.8 (11/13/2014) * Fix issue #40, the map commands were adding additional new lines to the mappings. For instance, 'imap a b' in the ~/.cgdb/cgdbrc file would cause a to map to 'b' instead of just 'b'. * Added feature from issue #29, added 'until' command to CGDB. * Updated autotools configuration files to satisfy warnings and recommendations produced by autotools when run. * Fix issue #49, a gcc compiler warning. * Fixed a hang consuming 100% CPU usage on OS X Mavericks (github #48). * Fixed a hang when quitting cgdb while inferior is running (github #1 and #5 and #46). This was believed to be fixed in the last release but I've finally reproduced the issue and fixed it for good. cgdb-0.6.7 (01/14/2013) * Changed documentation license from GFDL to GPL (github #6). * Fixed a hang on MacOS when quitting cgdb while inferior is running (github #1 and #5). * Fixed a crash when pressing 'n' in source window (github #5). * Fixed a bug opening files (and toggling breakpoints in files) with special characters (e.g. space) in their names. cgdb-0.6.6 (09/06/2011) * Fixed a compile error on Cygwin 1.7 (signature for path conversion functions changed). * Fixed a segfault on 64-bit systems in rline.c due to a missing prototype of cgdb_malloc. Thanks to Pietro Cerutti for reporting and diagnosing this one! * Fixed a bug in the file dialog. When searching for a file, and you hit enter to select it, CGDB would sometimes skip to the next file that matches and open that file instead. * CGDB should now build out of the box on Cygwin again. CGDB used to only support building against curses.h. Now it also supports building against ncurses/curses.h. * No longer set the prompt to (gdb) on startup. cgdb-0.6.5 (01/01/2010) * Turn autosourcereload to on by default. This matches GDB's behavior. * CGDB should successfully build on Mac OS X 10.5. Thanks Kyle McKay for sending in this patch. * Add support for :up and :down in the cgdb status bar. Thanks Benoit Pierre for reporting this. * Enhanced tgdb in a2 mode. It now understands GNAT's pre-instance-choice, instance-choice, post-instance-choice extension. * Made searching and :commands a little more vi-like. If you abort a search, you can still recall the last search with 'n' or 'N'. If you backspace to the beginning of the line, a :command or /search is aborted. * Added some new cgdb commands. :c is now a synonym for :continue :f is now a synonym for :finish :n is now a synonym for :next :r is not a synonym for :run :s is now a synonym for :step :start is a new command that will send "start" to the debugger :kill is a new command that will send "kill" to the debugger * Shortcut mode has been removed from cgdb. If you liked it, you can put these commands in your cgdbrc file, map r :run map c :continue map f :finish map n :next map s :step and you will get the same functionality. Do not forget that, F5 is the same as 'run'. F6 is the same as 'continue'. F7 is the same as 'finish'. F8 is the same as 'next'. F10 is the same as 'step'. are always available. * Added a feature to CGDB which allows it to ask readline what key sequence it uses for the Home and End keys. That way, if the terminfo database is wrong, but the OS vendor modified /etc/inputrc, CGDB will have a working Home and End key. * CGDB fully supports the use of maps now. The feature is similar in nature to the vim map feature. It supports map, unmap, imap and iunmap. The map/unmap work in CGDB mode and the imap/iunmap work in GDB mode. * Added the cgdbmodekey configuration option. This allows the user to change the key that switches them from GDB mode to CGDB mode. The default value is the Escape key. This is useful for users that want to use readline in vi-mode. * Fixed a bug in CGDB where the Insert and Delete keys were not recognized properly all of the time. cgdb-0.6.4 (04/28/2007) * CGDB can now be compiled with -jN option. It would fail previously. * CGDB should now build on freebsd with out any patches. * Added a new highlighting group, SelectedLineNr. From the documentation: This represents the group that is used when CGDB is displaying the currently selected line. This is the line that the cursor is on. * CGDB shuts down now when it receives C-d (control d), just like GDB does. * Changed the GDB prompt from "(tgdb)" to "(gdb)". I think users will be more comfortable with "(gdb)". * Fixed a serious bug in CGDB. After the user entered a command CGDB would not accept any more commands. This would only happen sometimes, if at all. This is due to the fact that CGDB had a bug in it that was sensitive to the amount of data that the read system call returns to it. * Fixed a bug in CGDB where it would not show a file in the source viewer if there was a space in the path. * Removed the escdelay option. It has been replaced by the timeout, timeoutlen, ttimeout and ttimeoutlen options. Please see the CGDB manual for more documentation on these options. * Fixed a bug in libkui. If the user quickly typed ESC followed by an 'o' while in the GDB window, the 'o' character would not get processed by CGDB until another character was hit. * CGDB has improved it's -d (Set debugger to use) command line option. CGDB used to force the user to have a space between the -d and the debugger to use, like "cgdb -d /usr/bin/gdb". Now the user can also start CGDB like "cgdb -d/usr/bin/gdb". * CGDB now honor's the '--' command line option, which will allow the user to explicitly say when they want to end passing arguments to CGDB and begin passing arguments to the debugger. * Fixed another bug in the configure script. If the getopt.h header file is not available on the system, then CGDB will fail to configure. It should finish, and most likely build successfully. * Fixed yet another bug in the auto tools scripts. cgdb-0.6.3 would improperly install gdbmi_driver if make was invoked like 'make DESTDIR=/foo install'. * Fixed another bug in the configure script. If the curses.h header file is not available on the system, then CGDB will fail to configure. It would previously configure and then end up with a compile error. cgdb-0.6.3 (06/03/2006) * CGDB will no longer crash if you attempt to do a regular expression search with / when there is no file in the source viewer. * CGDB now uses a pseudo terminal (PTY) to start GDB on, instead of using a pipe. Jens Frederich reported that on a Mac, typing Ctrl-C while the inferior was running would cause GDB to shut down, thus causing CGDB to shut down. This patch fixes that problem. At the same time, this patch caused GDB to ask the user several other questions regarding shared breakpoints, and quiting while the inferior is running. Thus, CGDB acts more as if you were just using GDB. * CGDB is now maintained in a subversion repository instead of a CVS repository. Although this might not appear to effect end users, it is possible that there will be problems associated with this switch. For this reason, I have documented this here. * Fixed another bug in the configure script. CGDB should now be able to configure itself on a Mac. Thanks to Jens Frederich for finding and reporting this problem. * CGDB no longer packages the generated auto tool files in CVS. However, the distributions will have these files. This means you will need autoconf, autoheader and automake installed to compile CGDB from CVS. * CGDB now compiles according to the c89 standard. This should help with porting to older systems. * The file cgdb.txt is now installed into $PREFIX/share/cgdb/cgdb.txt. This is the file CGDB will now use to display the manual when :help is typed. This prevents CGDB from copying the data into the users home directory. cgdb-0.6.2 (04/09/2006) * CGDB should run on solaris 2.5 again. I don't think it would since CGDB .6.0. * Fixed a bug in the configure script that was probably added in .6.0 when the large readline integration was done. It was possible for readline to choose the wrong termcap library, because of a bad autoconf macro that CGDB was using. This could potentially cause the screen to get corrupted. * Fixed a bug in the syntax highlighter for C strings. A line like char *s = "\""; would cause the highlighter to break and most of the file after that would be displayed in red (string literal color). * The message 'CGDB had unexpected results, ...' will no longer be displayed when CGDB can not parse a breakpoint. This message was being displayed when a watchpoint was issued by the user. It does not fix any bugs though, just stops the message from being displayed. cgdb-0.6.1 (03/06/2006) * An improvement for tab completion support. With certain versions of GDB, an extra line "server complete ..." would be added to the list of possible completions. This is no longer added. I believe this would only happen with really old versions of GDB. * Improved tab completion support in readline for quoted data. For instance tab completing C++ member functions like b 'foo::b will now produce b 'foo::bar()'. * Improved tab completion support. This comes in 2 forms. First, CGDB honors the readline variable rl_completion_query_items. If the number of completions is greater than this variable, then the user will be asked if they want the completion to happen. Second, after each page of completions, the user will be asked if they want more completions to be displayed or not. * Thanks to Steve Folta for sending in a patch which added support in CGDB for configuring the syntax colors. The colors used to be hard coded and could not be changed. Now just use the ":highlight" command to change the default colors. There is a new section in the manual called "CGDB highlighting groups" that describes the new functionality. * Again, thanks to Steve Folta for getting CGDB to run on terminals with background colors besides black. CGDB used to paint the terminal background color black regardless of what it was. Now it respects the background color. This feature only works when linked to ncurses. If you have curses, CGDB will force the background black. * CGDB broke it's terminal resizing functionality in cgdb-0.6.0. This is now working again. The bug was introduced while bringing readline into the same address space as CGDB. * The man page now get's installed when 'make install' is done. cgdb-0.6.0 (01/30/2006) * There is a new manual for CGDB. The text version is located in cgdb/doc/cgdb.txt. The info version is available at cgdb/doc/cgdb.info. The text, html, pdf, info and possibly other versions are avialable at http://cgdb.sourceforge.net/documentation.shtml * There is a new CGDB man page. It is located in cgdb/doc/cgdb.1. * Fix a crash in CGDB if the user would type ':e' or ':edit' in the source window, and the source window was empty. This crash is considered not very significant, since I can't understand why the user would try to refresh the file, if it didn't exist. * Removed the :q! and :quit! commands, since they don't do anything different than :q or :quit. * Fix a bug regarding the CGDB source viewer displaying breakpoints. If you used the file dialog to open a file, and the file was an absolute path, CGDB would display the file. If it was the first time CGDB encountered this file, then when you set a breakpoint, CGDB would not display the line as having a breakpoint in the source window, even though the breakpoint was actually being set. This is now fixed. * CGDB now supports getting the initial line, as well as the initial file that GDB is on when it first starts the inferior. It used to only determine the initial file. * CGDB now supports when the terminal does not have control flow turned on. If control flow (XON/XOFF) is off, the ^s and ^q will go directly to readline instead of freezing and restarting the terminal. * CGDB now allows the user to use the \ character for line continuation purposes. GDB handles this and now CGDB also handles this. Before this, CGDB would break if the user attempted to do line continuation. * CGDB no longer needs to do a fork to communicate data back and forth to readline, it runs readline in it's own process context. This is a huge improvement because it means that when you run CGDB you should only see 1 process executing instead of the usual 2. * CGDB now supports tab completion. This has been a long awaited missing feature of CGDB. * CGDB now depends on readline 5.1. * Fix a bug in the c/c++ syntax highlighter. If a file had "\\" as a string literal, the CGDB syntax tokenizer would be built incorrectly resulting in incorrect file highlighting. cgdb-0.5.3 (08/08/2005) * CGDB now can detect the version of readline that it is going to link against. By doing this, it can alert the user at configure time if the readline version is OK to build CGDB with. If it is not OK, configure will fail. * CGDB has changed it's user interface in a way that is not backwards compatible. The 't' key, now sets a temporary breakpoint. The 't' key used to put CGDB into insert mode in the TTY window. Now 'I' does that. * CGDB is now capable of setting a temporary breakpoint thanks to Marcel Lanz. He sent in a patch with the functionality. Hitting 't' set's a temporary breakpoint. * It was reported that the "Windows" Key would cause CGDB to shut down. This has been fixed. * Added a new 'arrowstyle' option, see README for documentation * Add the ^l command to the Source window. CGDB will now clear and redraw the screen when this command is received. * It is now required to have the GNU history library in order to configure CGDB successfully. This was always the case, but the configure checks wouldn't catch it. * Get readline configure check to only look for libreadline. Not libedit, ... Future version of CGDB will depend on functionality that only readline will contains. cgdb-0.5.2 (05/21/2005) * Attempt to get autoconf/automake machinery working with command, make DESTDIR=... install. This should simplify the job of package maintainers. * Added the --with-readline-prefix autoconf option. This makes configuring CGDB much easier when readline is in a non standard place. * Fixed major bug in CGDB-0.5.1 that prevented it from running on Solaris 9, FreeBSD 5.2.1 and probably many others. CGDB would hang when trying to read input. This bug made it impossible to use CGDB on those platforms. libkui is the cause of this problem and was a replacement input library for CGDB in cgdb-0.5.1. The bug is now fixed. cgdb-0.5.1 (04/02/2005) * fixed crash when user tries to set a breakpoint on a file that's not a source file. This would happen if you typed ':help' to get into the help, and then tried to set a breakpoint using the spacebar. * obsolete the b and f commands. These were responsible for moving between the previous and the next source file. They made CGDB unstable and I don't think they were in the spirit of a vi/vim clone. * fixed an annoying bug that appeared while searching for a string. If you canceled the source view regex search by hitting ESC, 2 bad things would happen. You would end up on the line that you cancelled at The currently displayed line would stay the line you can cancelled at, even when you start moving around again. * reworked the signal handling code when GDB dies. Now CGDB handles the SIGCHLD and passes the signal notification to TGDB. This fixes a race condition that occurred, even though the race condition appeared to be harmless. * Several memory runtime fixes found thanks to valgrind. This could potentially fix crash's that I just never ran into. * Fix a bug in the c/c++ syntax highlighter. If a file had a dos file format and the C++ style comment // was used, then the file displayed would be completely unreadable. This is because the trailing '\r' would get grouped with the comment. * Fix CGDB command line interface. If the user invoked CGDB like this, 'cgdb --args ./main one two three', then CGDB would hang or crash. This was because it use to add extra command line options to GDB on the end. Now it prepends the options to GDB, so that the --args command line can still be honored. * Added new logger interface. This traps all errors to a file or a file descriptor. There is now a mechanism to write warnings and errors to a file for inspection by the user. * Removed deprecated libinput from the various subdirectory. It has been replaced by libkui. * Added 'set asr' or autosourcereload option to CGDB. It is off by default. It is capable of reloading a source file when CGDB detects that a file has been modified. To turn this feature on do ':set asr'. * The :edit [:e] colon command has been implemented. It forces CGDB to reload the current file in the source viewer. cgdb-0.5.0 (07/14/2004) * "progs" directory is no longer installed in a potentially read-only directory. It is installed now in top_builddir, instead of top_srcdir. * Added libkui into CGDB. This is the fisrt of the 4 new libraries designed to make CGDB flexible and modular. Because of this, the version number has been bumped up to .5.0. * Fixed crash in TGDB when buffering commands. If the user hit 'n' ... fast, while GDB was not responding, or working on a command, the buffering code in TGDB would enter a bad command into a queue, causing it to crash when it tries to execute the command. * Fix crash in CGDB when parsing command line parameters. I think this crash showed up when I starting compiling CGDB with 3.3 instead of 2.95. It would crash when trying to pass the --pid argument to GDB through CGDB. cgdb-0.4.2 (05/10/2004) * CGDB now compiles again on AIX 4.3. Fixed Makefile.am in various/util/src to not have a space between the -L and the path. cgdb-0.4.1 (04/26/2004) * Removed a memory leak from CGDB. When debugging applications that output a lot of text, CGDB would reportedly grow well over 400MB. Thanks to the sender of this patch, who decided to keep themselves anonymous. * Removed all instances of PATH_MAX and replaced with FSUTIL_PATH_MAX. PATH_MAX is not defined on HURD, and thus CGDB wouldn't compile in that environment. * Fixed TGDB bug. Tab completion was broken during cgdb-0.4.0 release. cgdb-0.4.0 (10/28/2003) * Added 'wrapscan' option (abbreviated 'ws'). Note that this means that 'ws' no longer means winsplit, since this isn't the standard vi meaning. Fixed bug where 'n' jumps to the top of file when no search was previously done. * Fixed bug in TGDB. It would not return TGDB_ABSOLUTE_SOURCE_DENIED if TGDB called 'info source' and there was no line that returned the absolute source path. * Fixed bug in TGDB. TGDB would not query GDB for breakpoints on startup. However, the user can set breakpoints in there .gdbinit. TGDB now gets all breakpoints on startup. This fixes a bug in CGDB. The breakpoint will now be highlighted. * Fixed CGDB bug. When searching for text, CGDB would search for the next occurrence of the string from where it last found an occurrence, rather than where the users cursor is. * Fixed crash in TGDB. It would try to parse watchpoints. It will no longer do this. * Added new feature. CGDB added the 'set showtgdbcommands' option. If this is set, CGDB will show all the commands that it is sending to GDB to get work done. Otherwise, if its not set, CGDB will not show the user the commands. The default value is off. Although, I currently have mine set :). After all, you never can be to sure what this program is doing ... * Fixed bug in TGDB. TGDB used to return a newline for the front end to print when a GUI command was issued. This made sure the output of the command happened on a different line than the prompt. If the user ran many commands in a row through CGDB, you would see an extra new line appear. Now TGDB returns a new line when the command is actually given to GDB, not when the command is issued. * Fixed bug in TGDB. TGDB would not return the correct file:line if the user ran a command file through gdb on init and the file instructed gdb to set a breakpoint and run. CGDB would display line 1 of the correct file instead of the correct line. * Fixed bug in TGDB/CGDB. TGDB would return TGDB_UPDATE_SOURCE_FILES when there was no source files in the list ( ex. if the inferior was compiled without debug). This would cause CGDB to act buggy when the user tried to open the filedlg on a program that was not compiled with debug. The first time you would open the file dialog it would display a blank screen. The second time it would give you an error but it would put you in the file dialog mode, even though it displayed the CGDB source window. Both of these bugs should be fixed. * Fixed bug in TGDB/CGDB. It was not properly parsing the breakpoint information out of GDB. When using C++, GDB would output data that TGDB did not expect. TGDB can now parse the data properly. The result is that CGDB now displays all of the breakpoints in the source window. It used to not display them all. cgdb-0.3.4 * Fixed bug in cgdb. If the user hit 'o' in cgdb, then got out of the file dialog, the next time ^c was typed in the gdb window, the prompt would not refresh itself properly. * Fixed ada highlighting bug. String literals were not being highlighted. * Temporarily fixed the ^c bug. The data at the console is now cleared when the user hits ^c. A better fix will be arranged for when full signal handling support is integrated. * Fixed libinput bug. If the user held down '\n' for a long time, and then hit any other key, an extra '\n' would come out and then the other key. This was *very* annoying when holding down the '\n' key to continue nexting. * Fixed highlighting bug. This ( '\"' ) would start a string literal in C/C++. cgdb-0.3.3b * Fixed string literal bug where files don't highlight properly in C/C++. cgdb-0.3.3a * Fixed bug in the file dialog window. It would not accept the enter key, so the user could never select a file. cgdb-0.3.3 * Fixed tab bug, where tab spaces were being displayed incorrectly in the source window. Now cgdb can handle tabs in a file properly. * Added VI-style page up/page down commands. Deprecated old Shift-J and Shift-K page up/page down style commands. * Fixed bug in ada highlighter. The file would not be displayed correctly when trying to highlight an ada source file. cgdb-0.3.2 * Fast tokenizer replaces older hand written one. CGDB now can syntax highlight a 15000+ line ada or c file in fractions of a second compared to the second it used to take. Believe me, 1 second to load a file can get frustrating when you wait enough times. :) * CGDB now reads $HOME/.cgdb/cgdbrc, this is useful for automating any commands the user would normally type into the status bar. This is a *great* first attempt at making cgdb configurable. * There are *many* new options to type into the status bar, they are all listed in the README file, or from :help, check it out.