[sugar] Launching and debugging activities under gdb
Don Hopkins
dhopkins
Tue May 22 17:52:03 EDT 2007
It would be useful to be able to run activities from a command line, so
you can launch and debug them under gdb.
I looked in /proc/<process_id> to figure out the command line and
environment that were being executed to launch an activity, and I typed
the same thing into the shell to launch it by hand.
The activity started and ran without any errors, but no window showed up.
Of course I can attach gdb to an activity that's already running, but
all the interesting bugs happen while the activity is starting up, and I
can't type fast enough to catch it.
What else do I need to do, in order to get an activity to launch from
the command line or gdb?
Is dbus passing in some one-time environment variables, or setting up a
rendezvous that's not set up when I run an activity from the command line?
Is there some way I can invoke an activity manually from Python?
Also, it would be great to be able to turn off the stdout/stderr
redirection so I get all the stack dumps, prints and debug messages
dumped out to the debugger window!
The way some error messages go into shell.log and others into Read.log
(but no stack traces!) make it very hard to debug and figure out what
order things happened in.
Doing a tail -f of the log files gets confused when the files get
truncated/removed, so I have to restart the tail each time I start the
application. (The inode number of shell.log stays the same, but Read.log
gets removed each time I restart Sugar, so the inode number changes and
tail loses track of the log file.)
Another thing that would make debugging easier:
Does anyone know of a handy-dandy off-the-shelf Python command line
telnet server that I can run, so I can telnet into my application after
it launches and meddle around with it Python?
Thanks for any advice you can share to make debugging sugar applications
easier!
-Don
More information about the Sugar-devel
mailing list