This is now a C++ package.
Cherry-pick a patch from the unreleased HEAD of cgdb for GDB 8.3+.
Take maintainership.
cgdb-0.7.1 (08/04/2019)
* Status bar messages are now displayed properly in veritical mode.
The message is now truncated according to the status bar width instead
of the width of the terminal.
* Fix spurious error from CGDB on shutdown. You may have seen,
CGDB had unexpected results. Search the logs for more details.
In the log there was a waitpid error. CGDB was using the API wrong.
* Fix issue #161 - CGDB would lock up when doing a regex search from
the status bar if the file was just opened from the file dialog and
the search did not match any text in the file. Now the search fails
to match text as expected.
* Status bar commands and gdb console commands now both show gdb
output in the gdb window (instead of only the gdb console commands).
This fixed issue #154 on github.
* Fixed issue where typing F8 would do a 'next', 'step' and
screen refresh instead of just doing a 'next' command.
* Fix issue #139 - Show appropriate logos when color disabled
Previously, if the user had colors disabled, CGDB would still show
logos that had ansi escape color sequences in them.
* Fixed :highlight regression introduced in 0.7.0.
In 0.6.8, if the user entered a :highlight command from the CGDB
status bar, for instance:
:highlight Comment ctermfg=Blue
CGDB would updated the currently displayed source file
with the requested highlighting changes. In 0.7.0 this would not occur.
Both versions honored :highlight in the .cgdbrc file.
* Fix issue #125 - CGDB can cross compile again.
* The rust syntax highlighter is now case sensitive instead of case
insensitive.
* Fix issue #129. CGDB with old versions of ncurses (5.6 or before)
would not display colors. Now it will display colors, but will
not support ansi colors in the GDB window.
* Fix issue #137. rustlexer.lpp fails to compile with some versions
of GNU autotools.
* Fix issue #135. CGDB would "freeze" when opening the file
dialog if the number of files was very large. Updating the
gdbwire parser resolved the issue.
* Add support for readline's backward-kill-word and kill-word at gdb prompt
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 <digit>j and <digit>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 [<number>]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 :<number> 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.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
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<cr>' 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.
are replaced with .include "../../devel/readline/buildlink3.mk", and
USE_GNU_READLINE are removed,
* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
are replaced with .include "../../mk/readline.buildlink3.mk".
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<CR>
map c :continue<CR>
map f :finish<CR>
map n :next<CR>
map s :step<CR>
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 psuedo 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<tab>
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' <Enter> <Enter> ... 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.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
rather than PKG_FAIL_REASON, so that they provide useful error
messages in build logs, and so that they continue to work on platforms
where they aren't broken.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
CGDB is a curses-based interface to the GNU Debugger (GDB). The goal of CGDB
is to be lightweight and responsive; not encumbered with unnecessary features.
The interface is designed to deliver the familiar GDB text interface, with a
split screen showing the source as it executes. The UI is modeled on the
classic Unix text editor, vi. Those familiar with vi should feel right at home
using CGDB.