<story><title>Debugging with GDB</title><url>https://www.sourceware.org/gdb/current/onlinedocs/gdb.html</url></story><parent_chain><item><author>ho_schi</author><text>Took me some time to get familiar with it but GDB is well documented and fulfills its duty. It looks ancient but it is powerful.&lt;p&gt;Do not underestimate the power of the &lt;i&gt;print&lt;/i&gt; command! And the advanced stuff like revers-debugging, multi-threading (all-stop mode - which is the default - and the non-stop mode), binary manipulation (yep, it is possible), and remote debugging. Nowadays accompanied by stuff like debuginfod. What still need to try is the TUI modes because I assume it will improve my personal experience once I find a way of using it.&lt;p&gt;I&amp;#x27;ve ended up writing all stuff useful for me onto paper,  later a markdown and I can recommend everyone doing similar. GDB&amp;#x27;s learning curve is not like VIM (which is either a wall or a rocket - both looking similar on paper) but it is going upwards.&lt;p&gt;Today&amp;#x27;s highlight is &amp;quot;Why do I&amp;#x27;ve to set up all my breakpoints again? You  need to save them like an IDE&amp;quot;:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Save-Breakpoints.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Save-Breakpoints.h...&lt;/a&gt;</text></item></parent_chain><comment><author>mark_undoio</author><text>On a similar note - add `set history save on` to your `~&amp;#x2F;.gdbinit` and retain command history between runs of GDB (just like with your shell).&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Command-History.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Command-History.ht...&lt;/a&gt;</text></comment>
<story><title>Debugging with GDB</title><url>https://www.sourceware.org/gdb/current/onlinedocs/gdb.html</url></story><parent_chain><item><author>ho_schi</author><text>Took me some time to get familiar with it but GDB is well documented and fulfills its duty. It looks ancient but it is powerful.&lt;p&gt;Do not underestimate the power of the &lt;i&gt;print&lt;/i&gt; command! And the advanced stuff like revers-debugging, multi-threading (all-stop mode - which is the default - and the non-stop mode), binary manipulation (yep, it is possible), and remote debugging. Nowadays accompanied by stuff like debuginfod. What still need to try is the TUI modes because I assume it will improve my personal experience once I find a way of using it.&lt;p&gt;I&amp;#x27;ve ended up writing all stuff useful for me onto paper,  later a markdown and I can recommend everyone doing similar. GDB&amp;#x27;s learning curve is not like VIM (which is either a wall or a rocket - both looking similar on paper) but it is going upwards.&lt;p&gt;Today&amp;#x27;s highlight is &amp;quot;Why do I&amp;#x27;ve to set up all my breakpoints again? You  need to save them like an IDE&amp;quot;:&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Save-Breakpoints.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;sourceware.org&amp;#x2F;gdb&amp;#x2F;onlinedocs&amp;#x2F;gdb&amp;#x2F;Save-Breakpoints.h...&lt;/a&gt;</text></item></parent_chain><comment><author>pif</author><text>&amp;gt; It looks ancient but it is powerful&lt;p&gt;It is powerful &lt;i&gt;because&lt;/i&gt; it is ancient.</text></comment>