D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
perl-Expect
/
tutorial
/
Filename :
3.A.debugging
back
Copy
#!/usr/bin/perl # This example demonstrates how to use the debugging features in #expect. They're reasonably straghtforward. # # There are 3 basic ways you can debug a script: # # 1. Log_Stdout # # By setting $Expect::Log_Stdout you control whether or not processes #will echo to the screen or not. Having it turned on can be helpful so you #can watch what a process is doing. Alternately, for a process that is already #running you can do $process->log_stdout(1); which will turn on process #output for the process from that instant on. $process->log_stdout(0) will #turn it off. # By default $Expect::Log_Stdout == 1. Initialized handles (discussed #later) may also echo to STDOUT, but they don't do so by default. You have #to manually tell them to echo. You wouldn't want your log file jabbering at #you would you? Anyway, that will make sense later. # # 2. Exp_Internal # # Setting $Exp_Internal=1 (or $process->exp_internal(1)) will output #pattern matching information for expect() calls to STDERR. You can trap #this by doing "perl expect_script.pl 2>debug.out" if you are using any of #the bourne-ish shells. For people who use csh, don't. "exec bash" will take #care of that straightaway. This is handy so program output and debugging output #don't go to the same place. # # 3. Debug # # Setting $Expect::Debug = debug level(or $process->debug(debug level)) #will show other stuff, such as pids, output during interaction, and other #miscellaneous output not covered by the above two items. In combination with #Exp_Internal you can capture a lot of good information about what your script #is doing. Debugging info also goes to STDERR. # # # This example will show (lots) of debugging info. use Expect; $Expect::Log_Stdout=1; $Expect::Debug=3; $Expect::Exp_Internal=1; # lpc is a bsd printer control program. It's included in every Unix I # deal with. $lpc = Expect->spawn("lpc"); $lpc->expect(30,"lpc> ") && print $lpc "stat\r"; $lpc->hard_close();
Name
Size
Last Modified
Owner
Permissions
Actions
1.A.Intro
2.371
KB
May 15 2017 3:55:28
root
0644
2.A.ftp
3.013
KB
August 23 2019 2:02:45
root
0644
2.B.rlogin
3.948
KB
August 23 2019 2:02:45
root
0644
3.A.debugging
1.927
KB
August 23 2019 2:02:45
root
0644
4.A.top
0.906
KB
August 23 2019 2:02:45
root
0644
5.A.top
1.112
KB
August 23 2019 2:02:45
root
0644
5.B.top
2.393
KB
August 23 2019 2:02:45
root
0644
6.A.smtp-verify
3.184
KB
August 23 2019 2:02:45
root
0644
6.B.modem-init
1.79
KB
August 23 2019 2:02:45
root
0644
README
0.629
KB
May 15 2017 3:55:28
root
0644
2017 © D7net | D704T team