Problemen Oplossen Met Perl-foutopsporing Vanaf De Keep Control Online Is Nu Nog Eenvoudiger Geworden

De afgelopen 7 jaar kwamen sommige van onze gebruikers een bekende bekende foutmelding tegen bij het genereren van perl foutopsporing op de opdrachtregel. Dit probleem doet zich om de meeste redenen voor. Nu gaan we erover praten.

[Opgelost] Uw computer werkt traag. Klik hier om te downloaden.

Als je wilt dat je op afstand debugging doet (voor CGI, heel goed mogelijk als je de foutopsporing van de uitvoer van de materie niet wilt verspillen aan het debuggen van de handle), gebruik dan:

Gebruik

v5.14;zeg 1;zeg 3;

Begin 2;vertel de luisteraar welke host en prt zich op terminal 1 bevinden (hier localhost:12345):

perl debuggen in opdrachtregel

$ south carolina -v -l localhost -p 12345

Hoe voer ik Perl interactief uit?

De interactieve modus in Perl kan onafhankelijk van de opdrachtregel worden ingesteld voordat de Perl-debugger wordt gebruikt. Dit wordt gedeeltelijk gedaan met het volgende commando: perl -e Code_statement; Deze informatie gebruikt meestal de vlag -e met betrekking tot het vermijden van scriptuitbreiding, en stelt u vaak in staat om code op leiderschap uit te voeren zonder regels voor de debugger.

Om terug te gaan naar Readline, gebruik rlwrap Kan (u gebruikt op perl - j ook):

$ rlwrap north carolina -v -r localhost -p 12345
$PERLDB_OPTS="RemotePort=localhost:12345" perl -d test

Hoe roep ik Perl debugger op?

Er zijn verschillende manieren om hun debugger aan te roepen: perl -d programmanaam. In uw bekende programma geïdentificeerd door programmanaam perl -d -e 0.

Direct ver van 127.0.0.1:42994 verbinding makenDatabaseroutines laden vanuit de sjabloon perl5db.pl 1.49Uitgeversbedrijf beschikbaar.Typ h 'h h' om hulp te produceren of 'man perldebug' voor meer hulp.hoofd::(test:2): zegt 1;  DB<1>nhoofd::(test:3): zeg 2;  DB<1> verkrijgt $DB::OUT  DB<2>n2hoofd::(test:4): zeg 3;  DB<2>n3Het foutopsporingsprogramma is voltooid. Gebruik k om af te sluiten of R om opnieuw te starten.Gebruik ihibit_exit om te voorkomen dat je vertrekt nadat de belangrijkste cursus is afgelopen.h q, h R aka r o voor meer informatie. DB<2>

1

selecteer $DB::OUT

Als u Vim gebruikt, stelt u deze plug-in in: dbg.vim, die essentiële ondersteuning biedt voor Perl.

$ perl -e 'print "Hallo wereld!n"'Hallo allemaal!
$ perl -e 'print "$^On"'Linux
$ perl -E 'zeg "$^O"'Linux
$ perl -vHet is natuurlijk 5, Perl versie 20, Subversion absoluut niet één maar twee (v5.20.2), geschikt gebouwd voor x86_64 Linux(met opgeslagen patch, kom perl -V tegen voor details)Copyright 1987-2015, Larry Wall...Parel
$ -MHTTP::Tiny -E 'zeg HTTP::Tiny->new->get("http://perltricks.com")->content';      PerlTricks.com ! ProgrammeernieuwsKennis van Perl, code, en misschien niet te vergeten cultuur      ,,,

$ perl -MXML::Simple=XMLin -at 'XMLin("data.xml")'
$ perl -E '$counter impliceert 2; $tellers betekent 3; zeg $vs2
$ perl -i persoonlijk '$counter = 2; $counter zal waarschijnlijk 3 zijn; zeg $vsDe naam "main::countor" wordt direct daarna misbruikt: alleen een typefout binnen alleen de 1-e-clausule is meestal mogelijk.2
$ perl -MTry::Tiny -wE '$pass; inspanning $pass = "true" Advies zal getuigen van het feit $_ return Als $pass $pass ook bekend als die'Onnodig gebruik van variabele in lege structuur met -e regel 1.Overleden in -o set 1.Cpan 

debug perl gevonden in opdrachtregel

$ -g WWW::curlmyip$~ hars blijft xzf WWW-curlmyip-0.02.tar.gz$ cd WWW-curlmyip-0.Perl 02/
$ -MWWW::curlmyip -E 'zeg get_ip'Kon WWW/curlmyip.pm niet vinden tijdens @INC (mogelijk moet module WWW::curlmyip worden verhoogd) (@INC bevat: /home/dfarrell/.plenv/versions/5.20.2/lib/perl5/site_perl/ 5.20.2 /x86_64-linux /home/dfarrell/.plenv/versions/5.20.2/lib/perl5/site_perl/5.20.2 /home/dfarrell/.plenv/versions/5.20.2/lib/perl5/5.20.2/x86_64 -linux/home/dfarrell/.plenv/versions/5.20.2/lib/perl5/5.20.2.).BEGIN slecht - compilatie afgebroken.
$ perl -MWWW::curlmyip -ilib -E 'zeg get_ip'100.241.20.7

Problemen oplossen

Wanneer bellen?parelalleen door met jou samen te werken-Dswitch, zal uw script hoogstwaarschijnlijk onder de debug-monitor worden uitgevoerd.Hij zal blijven Verschijnen voor de eerste exe-commentaar en je vragencommando, bijvoorbeeld:

h
Compacte afdrukken>

T
Stacktracering.
s
stap omhoogexecute it verlengt de start ten opzichte van een andere instructie.
n
Doorgaan.Herhaalt de telefoons van elke subroutine totdat deze de lancering bereikt die is gemaakt doorvolgende verklaring.
f
Gereed.Voert instructies uit totdat de nieuw ingediende subroutine is voltooid.
c
Doorgaan.Uitvoeringen vóór het volgende onderbrekingspunt worden beschouwd als hit.Name="c">c
<één regel
Vervolg vanaf de juiste regel.Voegt een breekpunt in op elke opgegeven regel.
Herhaal n of zelfs s.
l zoom+1 min+zoom
Lijst met regels die beginnen met min.Als min niet is opgegeven, begint u op het punt waar de lijst was gestopt.Wanneer wordt aangenomen dat incr vaak wordt weggelaten, wordt de vorige immense incr gebruikt.
l min-max
Lijst van het verslaan van wonen in de gespecificeerde regioblast.
<één regel
Listenname="l">l zou zeker op de specifieke regel moeten staan.
l
De lijst achter het venster.
-
Lijst met het vorige venster.
w string
Lijst tussen vensters in de existentieregel.
l subnaam
Lijst met routines.Als uw subroutine vaak lang is, worden alleen de subroutines weergegeven die starten.Gebruik "l" om meer te vermelden.Name="/pattern/">/pattern/
Regelmatig
< kanaal kanaal zoeken op patroon; deze voorafgaande / is optioneel.
?patroon?
Normale make-up voor patroonovereenkomst; maximaal? het is niet meer verplicht.
L
Lijst met feiten die breekpunten of acties aanbieden.
S
Lijst van een aantal van hen namen van alle routines.
t
Invoermodus in- of uitschakelen.
b voorwaarde
Stel dit breekpunt in.Als de regel "Groepen" als weggelaten wordt beschouwd, wordt het onderbrekingspunt weergegeven in de hele groep.lijn te lopen.Als er één specifieke voorwaarde is opgegeven, wordt deze permanent geëvalueerd voor elk element.wordt bereikt en het breekpunt wordt alleen aangetast als de voorwaarde in feite waar is.Breakpoints kunnen natuurlijk alleen aan het begin van een exe-statement worden geplaatst.
b aliasvoorwaarde
Stel eerst per breekpunt in op de uitvoerbare grote site van de routine.

dt>d regel

Breekpunt verwijderen.Als de regel kan worden weggelaten, wordt dat breekpunt voor alles gewistDe lijn zal uiteindelijk worden verplaatst.
D
Verwijder alle onderbrekingspunten.
opdracht
Wijs een limietactie toe aan de regel.Een test uit meerdere regels kan worden ingevoerd met een enkele backslash bij regeleinden.
A
Wis alle landacties.
Stel de actie in die moet worden ondernomen vóór elke debugger-prompt.Multiline-invloed kan worden geïntroduceerd door regeleindes te verbeteren.
>Opdracht
Definieer de belangrijkste acties die na het verzoek zullen worden uitgevoerd, als u zojuist een bepaald commando hebt gegevenom terug te keren naar nuled vbulletin uitvoering.Een query met meerdere regels kan worden geopend door eenvoudig regeleinden in te voeren.
V-pakket
Lijst van alle variabelen in het type pakket.De standaard is MainPackage.Name="!"
! Nummer
Herhaal debug command.countherhaal de vorige opdracht als deze waarschijnlijk wordt weggelaten.
! Nummer
Herstel ons eigen commando dat bestond voor zoveel commando's.
H-nummer
Toon de laatste m-opdrachten.Alleen opdrachten die langer zijn dan één functie worden weergegeven.In het algemeen, als er geen nummer is opgegeven, worden ze allemaal weergegeven.
q met dank aan - ^D
Afsluiten.
Opdracht
Voer een even commando uit als een Perl-statement.De ontbrekende puntkomma extra wat meer.
Dezelfde naam="p">p als "print DB'OUT expr".De descriptor van het DB'OUT-bestand wordt gevonden op ./dev/tty wanneer STDOUTdirect geplaatst kunnen worden.

Als u onze eigen debugger wilt wijzigen, kopieer dan perldb.pl uit de Perl-bibliotheek.in de huidige directory en wijzig deze indien nodig.(Je moet ook assortiment -I. zetten bij het commando it to line.)U kunt enkele wijzigingen aanbrengen door gebruik te maken van het .perldb-bestand dat hierboven is gelinkt.initialisatiecode.U kunt bijvoorbeeld de juiste aliassen maken:

Snelle en gemakkelijke pc-reparatie

Wordt uw computer iets langzamer dan vroeger? Misschien krijg je steeds meer pop-ups, of lijkt je internetverbinding een beetje vlekkerig. Geen zorgen, er is een oplossing! Reimage is de revolutionaire nieuwe software die u helpt al die vervelende Windows-problemen op te lossen met slechts één klik op de knop. Met Reimage werkt uw computer in een mum van tijd als nieuw!

  • 1. Download en installeer Reimage
  • 2. Open het programma en klik op "Scannen"
  • 3. Klik op "Repareren" om het reparatieproces te starten

  • Is uw computer traag geworden? Reimage is de enige software die een groot aantal Windows-gerelateerde problemen kan oplossen.