<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bibble.co.nz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Quick_Guide_Debuggers</id>
	<title>Quick Guide Debuggers - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bibble.co.nz/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Quick_Guide_Debuggers"/>
	<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Quick_Guide_Debuggers&amp;action=history"/>
	<updated>2026-05-29T17:19:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.bibble.co.nz/mediawiki/index.php?title=Quick_Guide_Debuggers&amp;diff=11658&amp;oldid=prev</id>
		<title>Iwiseman: Created page with &quot;=Introduction=  This page is a page to remind me of how to use the cli debuggers for C++, Rails and Python  =Debugging Commands Across Rails (rdbg), GDB, and Python (pdb)= Below are three separate MediaWiki tables — one for each debugger — covering: • Set breakpoint before starting • Set breakpoint inside debugger • Continue • Step • Step out • Print current source • Print/Evaluate expression ==GDB== {| class=&quot;wikitable&quot; ! Action ! Command ! Notes |- |...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.bibble.co.nz/mediawiki/index.php?title=Quick_Guide_Debuggers&amp;diff=11658&amp;oldid=prev"/>
		<updated>2026-05-28T20:43:59Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Introduction=  This page is a page to remind me of how to use the cli debuggers for C++, Rails and Python  =Debugging Commands Across Rails (rdbg), GDB, and Python (pdb)= Below are three separate MediaWiki tables — one for each debugger — covering: • Set breakpoint before starting • Set breakpoint inside debugger • Continue • Step • Step out • Print current source • Print/Evaluate expression ==GDB== {| class=&amp;quot;wikitable&amp;quot; ! Action ! Command ! Notes |- |...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introduction= &lt;br /&gt;
This page is a page to remind me of how to use the cli debuggers for C++, Rails and Python&lt;br /&gt;
&lt;br /&gt;
=Debugging Commands Across Rails (rdbg), GDB, and Python (pdb)=&lt;br /&gt;
Below are three separate MediaWiki tables — one for each debugger — covering:&lt;br /&gt;
• Set breakpoint before starting&lt;br /&gt;
• Set breakpoint inside debugger&lt;br /&gt;
• Continue&lt;br /&gt;
• Step&lt;br /&gt;
• Step out&lt;br /&gt;
• Print current source&lt;br /&gt;
• Print/Evaluate expression&lt;br /&gt;
==GDB==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Command&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint before starting&lt;br /&gt;
| &amp;lt;code&amp;gt;gdb --args ./program&amp;lt;/code&amp;gt; then &amp;lt;code&amp;gt;break file.c:LINE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Or &amp;lt;code&amp;gt;break main&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint in debugger&lt;br /&gt;
| &amp;lt;code&amp;gt;break file.c:LINE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Can also break on functions.&lt;br /&gt;
|-&lt;br /&gt;
| Continue&lt;br /&gt;
| &amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs until next breakpoint.&lt;br /&gt;
|-&lt;br /&gt;
| Step&lt;br /&gt;
| &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Steps into function calls.&lt;br /&gt;
|-&lt;br /&gt;
| Step out&lt;br /&gt;
| &amp;lt;code&amp;gt;finish&amp;lt;/code&amp;gt;&lt;br /&gt;
| Executes until current function returns.&lt;br /&gt;
|-&lt;br /&gt;
| Print current source&lt;br /&gt;
| &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows source around current line.&lt;br /&gt;
|-&lt;br /&gt;
| Print/Evaluate expression&lt;br /&gt;
| &amp;lt;code&amp;gt;print expr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Evaluates C/C++ expressions.&lt;br /&gt;
|}&lt;br /&gt;
==Rails (rdbg)==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Command&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint before starting&lt;br /&gt;
| &amp;lt;code&amp;gt;rdbg -n --command &amp;quot;break file.rb:LINE&amp;quot; -- bin/rails runner script.rb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to stop at the first breakpoint.&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint in debugger&lt;br /&gt;
| &amp;lt;code&amp;gt;break file.rb:LINE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Or &amp;lt;code&amp;gt;break Class#method&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Continue&lt;br /&gt;
| &amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs until next breakpoint.&lt;br /&gt;
|-&lt;br /&gt;
| Step&lt;br /&gt;
| &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Steps into method calls.&lt;br /&gt;
|-&lt;br /&gt;
| Step out&lt;br /&gt;
| &amp;lt;code&amp;gt;finish&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs until current frame returns.&lt;br /&gt;
|-&lt;br /&gt;
| Print current source&lt;br /&gt;
| &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows surrounding lines.&lt;br /&gt;
|-&lt;br /&gt;
| Print/Evaluate expression&lt;br /&gt;
| &amp;lt;code&amp;gt;p expr&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;pp expr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ruby evaluation inside debugger.&lt;br /&gt;
|}&lt;br /&gt;
==Python (pdb)==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Action&lt;br /&gt;
! Command&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint before starting&lt;br /&gt;
| &amp;lt;code&amp;gt;python -m pdb script.py&amp;lt;/code&amp;gt; then &amp;lt;code&amp;gt;b file.py:LINE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Or insert &amp;lt;code&amp;gt;breakpoint()&amp;lt;/code&amp;gt; in code.&lt;br /&gt;
|-&lt;br /&gt;
| Set breakpoint in debugger&lt;br /&gt;
| &amp;lt;code&amp;gt;b file.py:LINE&amp;lt;/code&amp;gt;&lt;br /&gt;
| Or &amp;lt;code&amp;gt;b function_name&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Continue&lt;br /&gt;
| &amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs until next breakpoint.&lt;br /&gt;
|-&lt;br /&gt;
| Step&lt;br /&gt;
| &amp;lt;code&amp;gt;step&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Steps into function calls.&lt;br /&gt;
|-&lt;br /&gt;
| Step out&lt;br /&gt;
| &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Runs until current function returns.&lt;br /&gt;
|-&lt;br /&gt;
| Print current source&lt;br /&gt;
| &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows surrounding lines.&lt;br /&gt;
|-&lt;br /&gt;
| Print/Evaluate expression&lt;br /&gt;
| &amp;lt;code&amp;gt;p expr&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;pp expr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Evaluates Python expressions.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Iwiseman</name></author>
	</entry>
</feed>