Re: Debugging IDE for Octave?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: Debugging IDE for Octave?

kraiskil
On Mon, 15 Nov 2004, Charles Fox wrote:

>
> I've noticed the discussion about Octave IDEs, such as the emacs octave
> mdoe, koctave and goctave.  However the main reason I'm still using matlab
> for serious work is its integrated debugger: Matlab lets you quickly set
> breakpoints, step through code, view variable contents, and stop on
> errors.

I've noticed this too :)

> Is there an octave package that will do this?

Afaik, no. I searched for something similar earlier this year,
and because I didn't find anything, I started writing yaog
(yaog.sf.net). I'm planning on it to be an IDE with texteditor and
debugging capabilities much like Matlab's GUI (IDE).

The main problem in making the debugging work was that the only
way to have octave debug my files, was to explicitly use the
debug-functons in octave. This resulted in much "clutter" in the
terminal. So I looked into how I could tell octave to do stuff
kind of "behind the terminal". Possibilities were MPI or listen (from
octave-forge), but they take away the interactiveness from octave,
something I don't like :).
Since nothing suited my needs, I'm currently in the process of writing
IPC (interprocess communication) to octave. It is very early, and I
haven't yet published it. But it seems to work, and already can
send a message from yaog to octave, bypassing the terminal.
(I'm using SysV IPC, and I have no idea how it ports to eg Cygwin or Mac:
I'm using Linux to hack on it, any comments welcome)

If I understand correctly, octave has no support for multiple threads,
so it is a big hack to integrate IPC into octave. If there is a better
way (the gdb-kindof suggestion) please tell me now, before I do more than
just learn SysV IPC :)

If there is interest in looking into my work, I can post my work on the
web. It's just the src/octave.cc-file that I've modified (of octave
2.1.61).

One other thing. Octave seems to be able only to debug functions, not
files. So in order to debug "foobar.m" the file must start with
function foobar(). This is something I'd like to change.

I hope this spurs more conversation...


Kalle Raiskila

P.S. this propably is off-topic in help, so I'm posting to the maintainer
list, sorry for spamming.

--
"Kaikki päättyy aikanaan,
eetteri virtaa ainiaan."
                -Nieminen