Where can I post a new debugger?

Ziaran nir1408 at hotmail.com
Sun Feb 22 19:15:41 EST 2004


François,

I did not mean to piss you off.

I like URLs, they are so easy to click, and there is always the possibility
for pleasant surprises inside.



Allow me to correct myself. I hope people will find my pdb debugger
modification useful.



I started learning Python 3 weeks ago, and was trying to implement an
academic exercise for that purpose, but alas I had a bug in my
implementation, and trying to debug it I soon found out that Idle does not
break on breakpoints that are crossed by non-main threads. I tried pdb too
and found that for different reasons it was not suitable for that task
either. And then two nights of web searching did not bring me any closer to
a life-saving debugger (and believe me that if I ever learned anything in
the respectable software engineering company I work for, it is web surfing.
I might say I am one of the world-wide-best in that area). So, anyway, I
decided do modify pdb for my needs.



I am fond of source-level text debuggers.

They are usually much more powerful than GUI based debuggers, and I saw that
pdb has some great features.



I think my modification takes pdb closer to its potential, however modest it
may be. It helped me find my bug in no time, and I know Python much better
than when I started, too.



For a somewhat more technical explanation, let me quote from the __doc__



"A remote debugger for Python 2.3.3



This is a modification of pdb.py to allow remoting of the debugger IO to a
seperate server process, and support convenient debugging of multiple
threads.



    New debugger commands:

        ts (Thread Set) - Set debugger focus to a specific thread, or list

            active threads.

        tc (Thread Command) - Send command to a specific thread.

        bn (Break Now) - Break all threads immediately, or as soon as they

            return to execute python code.

        save - Save breakpoints of the current debug session.

        load - Load breakpoints of the current debug session.



    Other improvements:

        Post mortem on unhandled exceptions.

        Debugger starts in right frame.



To debug a thread (except the main thread):



1. Place the statement 'rpdb.set_trace()' as the first statement in the
run() method of your thread. This statement will be ignored if the script
was not invoked by the debugger, so it can remain in the code.



2. When execution reaches that statement the debugger will break and the
debugger-server will report the new thread."



And here is the link again; hoping this time people in need will believe it
worth while to click:

http://ziaran.freehosting.net



Yours,

Nir (Ziaran)



"François Pinard" <pinard at iro.umontreal.ca> wrote in message
news:mailman.176.1077492929.27104.python-list at python.org...
> > "Ziaran _" <nir1408 at hotmail.com> wrote in message
> > > I have written a new debugger.
> > > I think people will find it useful.

> "Lothar Scholz" <llothar at web.de> wrote in message
> > What is so different from the existing ones ?

[Ziaran]
> http://ziaran.freehosting.net/

An URL is hardly an explanation, and alone, hardly an English sentence.
People should not have to start a browser merely to figure out an email.

You think people will find your new debugger useful?  Good for you!
Now, if you want us to think the same, you should tell us a little more.
Once interested, then we may start a browser :-).

-- 
François Pinard   http://www.iro.umontreal.ca/~pinard





More information about the Python-list mailing list