OK, here's a stripped down example that does the same thing (produces 3 child debugger windows with the same kind of titles and message that I described previously):
$ ls -al eko
-rwxr-xr-x 1 jabowery jabowery 30 Aug 11 13:38 eko
$ cat eko
#!/usr/bin/perl
print shift;
$ cat test.pl
our $DEBUG = 1;
for (1..3){
unless(open($fh{$_},"-|")){
print `./eko $_`;
exit(0);
}
}
for(keys %fh){
my $fh=$fh{$_};
my $s=join '',<$fh>;
print STDERR "$_: $s\n" if $DEBUG;
close $fh;
}
$ perl test.pl
1: 1
3: 3
2: 2
$ perl -d test.pl
Loading DB routines from perl5db.pl version 1.33
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(test.pl:1): our $DEBUG = 1;
+
+ DB<1> c
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
######### Forked, but do not know how to create a new TTY. #########
Since two debuggers fight for the same TTY, input is severely entang
+led.
I know how to switch the output to a different window in xterms, OS/
+2
consoles, and Mac OS X Terminal.app only. For a manual switch, put
+the name
of the created TTY in $DB::fork_TTY, or define a function
DB::get_fork_TTY() returning this.
On UNIX-like systems one can get the name of a TTY for the given win
+dow
by typing tty, and disconnect the shell from TTY by sleep 1000000.
+
+ DB<1> ######### Forked, but do not know how to cr
+eate a new TTY. #########
Since two debuggers fight for the same TTY, input is severely entang
+led.
I know how to switch the output to a different window in xterms, OS/
+2
consoles, and Mac OS X Terminal.app only. For a manual switch, put
+the name
of the created TTY in $DB::fork_TTY, or define a function
DB::get_fork_TTY() returning this.
On UNIX-like systems one can get the name of a TTY for the given win
+dow
by typing tty, and disconnect the shell from TTY by sleep 1000000.
+
+ DB<1> ######### Forked, but do not know how to cr
+eate a new TTY. #########
Since two debuggers fight for the same TTY, input is severely entang
+led.
I know how to switch the output to a different window in xterms, OS/
+2
consoles, and Mac OS X Terminal.app only. For a manual switch, put
+the name
of the created TTY in $DB::fork_TTY, or define a function
DB::get_fork_TTY() returning this.
On UNIX-like systems one can get the name of a TTY for the given win
+dow
by typing tty, and disconnect the shell from TTY by sleep 1000000.
+
+ DB<1>
|