Forum Doku Wiki Blog

Forumsarchiv 2001, Juni
debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren?

archivierte Beiträge lesen

  1. (PERL) debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren? von Hannes, 21. 06. 2001, 14:54

debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren?

Der folgende Beitrag wurde am 21. 06. 2001, 14:54 Uhr von Hannes veröffentlicht.

Hallo, ich habe 2 Problemchen:

1. ein recht Umfangreiches Skript läuft zwar unter WinNT auf meinem alten Server, aber nicht unter Unix auf meinem neuen. Welche Feinheiten unterscheidet diese? Gibt es kleine Tricks, auf die man achten muss?

2. ich wollte aus erstgenanntem Grund dem Script nochmal auf den Grund gehen, so daß auch kleine Ungereimtheiten die der compiler akzeptiert hat, aus dem weg geraeumt sind. bei eingabe von

perl -cw meinscript.plx

in der eingabeaufforderung (WinNT) gibt er tausend kleine meldungen (warnungen raus, die ich gar nicht alle durchlesen kann (bei 40 Zeilen MS-DOS Eingabeauff.)
Gibt es eine möglichkeit diesen Text zu speichern?

Gibt es elegantere Möglichkeiten an die Fehler heranzukommen?

Für Eure hilfe dankt

Hannes

debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren?

Der folgende Beitrag wurde am 21. 06. 2001, 15:20 Uhr von RoRo veröffentlicht.

hi,

zu 1.
ja es gibt einige beachtenswerte Unterschiede z.B.
-Zugriffsrechte
-Driveletters
-Systembefehle
... kommt drauf an.

zu 2.
> perl -cw meinscript.plx

> in der eingabeaufforderung (WinNT) gibt er tausend kleine meldungen (warnungen raus, die ich gar nicht alle durchlesen kann (bei 40 Zeilen MS-DOS Eingabeauff.)
> Gibt es eine möglichkeit diesen Text zu speichern?

> Gibt es elegantere Möglichkeiten an die Fehler heranzukommen?

perl -cw meinscript.plx > datei
perl -w script | more

oder ruf's im Textpad auf, guck mal auf meine HP unter
PERL Entwicklungsumgebung... im Textpad kannst du dann
in aller Ruhe scrollen.

Rolf

debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren?

Der folgende Beitrag wurde am 21. 06. 2001, 15:49 Uhr von Calocybe veröffentlicht.

Hi hi!


> > Gibt es elegantere Möglichkeiten an die Fehler heranzukommen?

Da fallen mir auf Anhieb zwei ein, zumindest unter Windows NT (nicht Win9x!). Einen hat Rolf schon angedeutet, nur falsch ausgefuehrt (dazu unten), der andere ist, einfach Deine Konsole so einzustellen, dass sie Dir eine Zeilenanzahl zeigt, mit der man auch arbeiten kann. Dazu in die Systemsteuerung, dort Console (heisst vermutlich Eingabeaufforderung in der dt. Version) aufmachen, dort bei Layout die Window size und Screen buffer size einstellen (Begriffe bitte jeweils in die Sprache Deiner Win-Version uebersetzen). Ich habe z.B. bei Window size 40 Zeilen eingetragen (so gross ist dann das Fenster), bei Screen buffer size aber 800 Zeilen (soviel wird gespeichert), mit dem Effekt, dass ich VIEL scrollen kann. :-)

Man kann dort uebrigens auch Farben einstellen, die im Auge nicht ganz so weh tun, z.B. mit weisser Schrift (statt grau). ;-)


> perl -cw meinscript.plx > datei
> perl -w script | more

(Ob folgendes auch fuer Win9x gilt, weiss ich nicht, vermutlich aber nicht.)
Der Ansatz ist richtig, aber so stimmt das nicht. Die Ausgabe eines Consolenprogramms teilt sich in zwei verschiedene Kanaele, naemlich STDOUT und STDERR. Ersteres ist fuer normale Ausgaben des Programms gedacht, zweiteres fuer Warnungen und Fehlermeldungen. Dieses aus der Unixwelt stammende Konzept wird von Perl konsequent umgesetzt, und - zum Glueck - von NT unterstuetzt.

Normalerweise sind STDOUT und STDERR auf die Konsole gerichtet (dieses unbunte Fenster). Mit den Ausgabeumlenkungsoperatoren kann man die aber wo anders hinrichten. Dabei bedeutet
  1> output.txt     STDOUT nach output.txt umleiten, evtl. existierende Datei ueberschreiben
  2> errors.txt     STDERR nach errors.txt umleiten, evtl. existierende Datei ueberschreiben
  > output.txt      gleichbedeutend mit 1>
  1>>, 2>>          wie 1> und 2>, aber bei existierender Datei nicht ueberschreiben, sondern anhaengen
  >>                wie 1>>
  < input.txt       Eingabe (STDIN) aus der Datei input.txt holen statt von der Tastatur
  |                 STDOUT eines Programms als STDIN fuer zweites Programm verwenden


Rolf, folgendes war bei Dir falsch: Mit
  perl -cw meinscript.plx > datei
leitest Du STDOUT in die Datei um, nicht aber die Fehlermeldungen, die Perl auf STDERR ausgibt und deswegen weiterhin in der Konsole erscheinen. Richtig waere
  perl -cw meinscript.plx 2> errors.txt

Bei
  perl -w script | more
begehst Du denselben Fehler: Nur STDOUT wird an more weitergeleitet, nicht STDERR. Deshalb werden die Fehlermeldungen *nicht* seitenweise angezeigt.

Allgemein laesst sich sagen, ein bisschen Wissen ueber seine grundlegenden Werkzeuge des Betriebssystems ist immer wieder enorm hilfreich. Leider wird in der heutigen Zeit immer alles moeglichst bunt gemacht und vor dem User versteckt, weshalb jemand, der noch nie mit Unix oder frueher mit MS-DOS gearbeitet hat, sowas einfach nicht mehr lernt.


So long

Umleitungen u.a. - wow!

Der folgende Beitrag wurde am 21. 06. 2001, 19:50 Uhr von RoRo veröffentlicht.

Hi Roland,

dass das mit 1> , 2> auch unter NT geht wusste ich noch nicht... das klappt ja prima, danke für dein Posting.

Und hier hab ich noch was für die knallharten KommandozeilenFreaks:

mode 75,200

gleich im aktuellen Fenster eintippen - macht in der aktuellen Sitzung das Fenster schön lang zum scrollen :)

allg.: mode spalten,zeilen

http://i-netlab.de/windos/windos.htm

DOS Prompt forever - für jung + alt ;-)

Gruß, Rolf

Umleitungen u.a. - wow!

Der folgende Beitrag wurde am 22. 06. 2001, 14:22 Uhr von Hannes veröffentlicht.



> Und hier hab ich noch was für die knallharten KommandozeilenFreaks:

> mode 75,200

> gleich im aktuellen Fenster eintippen - macht in der aktuellen Sitzung das Fenster schön lang zum scrollen :)

Klasse Tips, Danke!

Hannes

debugger- fehlermeldungsausgabe? Perl Win- Unix Portieren?

Der folgende Beitrag wurde am 21. 06. 2001, 18:26 Uhr von Hannes veröffentlicht.

Danke Euch beiden.

Klappt prima.

ich muss leider gleich noch ein Problem Posten :-)

Hannes

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4