Debugger goodies rendered worthless

David Alban extasia at extasia.org
Wed Jun 20 17:45:00 BST 2007


Greetings,

As you may know, the ability to start a perl debugger command with a
pipe symbol, so that it pages the output, can be a very handy thing.
Both to actually page the output, and, in the case of using less(1) as
your pager, to be able easily to save the output to a file while
debugging.

I'm debugging on a machine in which many things that have worked for
me on other machines don't seem to work.  Prepending the pipe symbol
to debugger commands doesn't page the output.  The terminal settings
are messed up.  For instance, the stty settings for erase, kill,
werase, lnext aren't set.  (I tried setting them in the target user's
.bash_profile, to no avail.)  In fact, in the debugger, this works:

 !! ls

But I get:

 DB<10> !!stty
stty: standard input: Invalid argument
(Command exited 1)

wtf?

Because the stty erase, werase, and kill characters aren't set (or, at
least, because I can't shell out to execute stty, I can't determine
what they are), I have to type each debugger command perfectly, or I'm
wasting a lot of time.

Any suggestions?

-------------------------------------------------------------------------------------------------
Since I wrote the above text, I figured, maybe it's because what I'm
doing is running a perl program on host A which is ssh'ing to host B,
sudo'ing another perl program as root.  I think that somehow, going
over the network and/or going through ssh is rendering the helpful
features inoperative.

Have others run into this?  Is it a solvable problem?

(I haven't tried it on a host different than host B, so I still don't
know whether it's peculiar to going from host A to host B...)

BTW, these are linux (RH enterprise) machines.

Thanks,
David
-- 
Live in a world of your own, but always welcome visitors.


More information about the london.pm mailing list