Debugging Octave: Difference between revisions

110 bytes removed ,  1 June 2019
m (→‎Most used commands: fixed formating on the previous)
Line 44: Line 44:
</syntaxhighlight>
</syntaxhighlight>


start now the GNU debugger with octaveOn most Unixy systems, you can start gdb from within an Octave session by evaluating a command like
In next step you will use GNU debugger or gdb. The symbols from your oct-file will only be available to gdb once the oct-file is loaded in OctaveTo do that without executing any functions from the oct-file, you can ask Octave to display the help for the oct-file:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
octave> system (sprintf ("gnome-terminal --command 'gdb -p %d'", getpid ()), "async");
octave> help file
</syntaxhighlight>
</syntaxhighlight>


at the Octave promptThis command will open a terminal window running gdb attached to the Octave process.  At this point, Octave will be stopped.  To tell Octave to continue, type
start now the GNU debugger with octaveOn most Unixy systems, you can start gdb from within an Octave session by evaluating a command like


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
(gdb) continue
octave> system (sprintf ("gnome-terminal --command 'gdb -p %d'", getpid ()), "async");
</syntaxhighlight>
</syntaxhighlight>


at the gdb prompt.  The symbols from your oct-file will only be available to gdb once the oct-file is loaded in Octave.  To do that without executing any functions from the oct-file, you can ask Octave to display the help for the oct-file:
at the Octave prompt.  This command will open a terminal window running gdb attached to the Octave processAt this point, Octave will be stopped. 
 
<syntaxhighlight lang="bash">
octave> help file
</syntaxhighlight>


Now halt execution of Octave by typing ctrl+c, you'll see again the gdb prompt. Set now a breakpoint in the line of interest
Now you can set a breakpoint in the line of interest of your oct-file in gdb prompt:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">