GDB 7.11 released
lists.gnu.org
lists.gnu.org
But if you have complex bugs to track, the integration of Python in GDB alone is worth the hassle, I think.
It also uses vim-like bindings for going into "insert" mode ("i"), versus escaping out into code context navigation mode ("ESC").
I made a short 4 minute tutorial on how to use gdb/cgdb for debugging Golang, here:
It may seem to have some mental overhead at first because you have to type commands, but it becomes second nature after a while. IMHO, it has far less overhead than debuggers where you have to click everywhere. There's a reason why people don't really bother writing pretty frontends for it.
If you use an IDE for Linux development, its debugger actually talks to GDB behind the scene. You can ditch the middle man without trouble.
The only thing that DDD really excels at (when it doesn't crash because, uh, long story short, Motif) and you can't get straight from GDB is visual representation of linked structures.
https://github.com/vmorgulys/sandbox/blob/master/stackcity/t...
set pagination off
catch throw
run
bt 50
quitHowever, I do use Emacs with GUD and it works okay. If you are addicted to VI-style editing (like myself), you can use viper.
You'll want to add some keybinding to your .emacs. The following are the VS6 bindings I use:
;; Add VisualStudio-style debugging keys
;; Add convenient "until" command to gdb mode (swiped off the web)
(add-hook `gdb-mode-hook
(lambda ()
(gud-def gud-until "until %f:%l" "C-u" "Execute until current line.")))
;; Add a "jump" command (supposed to have been included in gud.el)(add-hook `gdb-mode-hook
(lambda ()
(gud-def gud-jump "tbreak %f:%l\njump %f:%l" "\C-j" "Relocate next instruction to line at point in source buffer.")))
(global-set-key [f9] 'gud-break)(global-set-key [f11] 'gud-step)
(global-set-key [f10] 'gud-next)
(global-set-key [f5] 'gud-cont)
(global-set-key [\S-f11] 'gud-finish)
(global-set-key [\C-f10] 'gud-until)
(global-set-key [\C-\S-f10] 'gud-jump) ; Equivalent to VC's Set Next Statement
Sure, it's not the right tool for every job, but as a simple, easy to use, ubiquitous and quick debugger, you'd do yourself a favour spending the five minutes learning how to start using it.
The difference between an amateur operating system project and a professional one is writing a compiler.
Just read about TicketMaster on his site.
First, run this if you haven't already installed the Command Line Tools for Xcode:
xcode-select --install
Then run these commands: curl -o gdb-7.11.tar.xz https://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.xz
tar zxf gdb-7.11.tar.xz
cd gdb-7.11
./configure
make
make install
This should place the executable at /usr/local/bin/gdb. The final step is to codesign it. Instructions: http://sourceware.org/gdb/wiki/BuildingOnDarwinBut OS X tar is bsdtar, which ignores -z and -J when extracting because it automatically recognizes compression and does the right thing. So it turns out both our suggestions happen to work on OS X.