OVH Cloud OVH Cloud

utilisation de l'option TTY/noTTY dans PERLDB_OPTS

2 réponses
Avatar
I Mahnich
Attention : nous sommes quasi-débutants en Perl, c'est pourquoi il est
possible qu'on n'utilise pas les bons termes.
On cherche à dialoguer avec le débugger autrement que par le clavier et
l'écran : par un autre processus.
Le debugger offre les options TTY et noTTY mais leur utilisation nous est
mystérieuse.
Il faudrait apparemment renvoyer, par l'intermédiaire de Term::Rendezvous
(??) un objet ayant pour méthodes DB::IN (??) et DB::OUT (??), qui changent
le terminal.
Faut-il créer un terminal ?
Est-ce que créer un tube nommé serait efficace, si on crée un processus qui
ouvre en lecture ce tube puis fait un exec de "perl -d ..."?
Merci.

2 réponses

Avatar
dominix
I Mahnich wrote:
Attention : nous sommes quasi-débutants en Perl, c'est pourquoi il est
possible qu'on n'utilise pas les bons termes.
On cherche à dialoguer avec le débugger autrement que par le clavier
et l'écran : par un autre processus.
Le debugger offre les options TTY et noTTY mais leur utilisation nous
est mystérieuse.
Il faudrait apparemment renvoyer, par l'intermédiaire de
Term::Rendezvous (??) un objet ayant pour méthodes DB::IN (??) et
DB::OUT (??), qui changent le terminal.
Faut-il créer un terminal ?
Est-ce que créer un tube nommé serait efficace, si on crée un
processus qui ouvre en lecture ce tube puis fait un exec de "perl -d
..."?
Merci.


je comprend pas bien moi non plus comment ca marche.
Je vais poser la question sur perlmonks.org.

--
dominix

Avatar
dominix
dominix wrote:
I Mahnich wrote:
Attention : nous sommes quasi-débutants en Perl, c'est pourquoi il
est possible qu'on n'utilise pas les bons termes.
On cherche à dialoguer avec le débugger autrement que par le clavier
et l'écran : par un autre processus.
Le debugger offre les options TTY et noTTY mais leur utilisation nous
est mystérieuse.
Il faudrait apparemment renvoyer, par l'intermédiaire de
Term::Rendezvous (??) un objet ayant pour méthodes DB::IN (??) et
DB::OUT (??), qui changent le terminal.
Faut-il créer un terminal ?
Est-ce que créer un tube nommé serait efficace, si on crée un
processus qui ouvre en lecture ce tube puis fait un exec de "perl -d
..."?
Merci.


je comprend pas bien moi non plus comment ca marche.
Je vais poser la question sur perlmonks.org.


voici les recommandations reçu:

================= Figure out what your debug options will be and either write the options to
the .perldb file or add it to the PERLDB_OPTS environment variable like so:

.perldb -> parse_options("TTY=/dev/ttyp3 LineInfo=/dev/ttyp4 ReadLine=1");

terminal-> PERLDB_OPTS="TTY=/dev/ttyp3 LineInfo=/dev/ttyp4 ReadLine=1"
perl -d your_script.pl

TTY is the terminal you want to debug in.
LineInfo is the terminal you want to see the output of your script in
ReadLine signals that you want to step through your script
Though for the whole thing to work you have to send the terminal you want
to debug in to sleep before you start to debug. I.e. Go to ttyp3 and give
it a command of sleep 1000000.
/oliver/

=================
trouver les options de debuggage a utiliser et les mettres dans soit le
fichier .perldb soit dans la variable d'environnement PERLDB_OPS tel que:

.perldb -> parse_options("TTY=/dev/ttyp3 LineInfo=/dev/ttyp4 ReadLine=1");


terminal-> PERLDB_OPTS="TTY=/dev/ttyp3 LineInfo=/dev/ttyp4 ReadLine=1"
perl -d your_script.pl

TTY est le terminal pour debugger
Lineinfo est le terminal de sortie normale du programme
Readline signale que l'on veux du pas a pas dans le script
pour que tout cela fonctionne il faut envoyer au terminal de debuggage une
commande sleep avant de debugger: par Ex: aller au ttyp3 et taper sleep
1000000

=================
--
by the way of dominix