Fragensteller
Wie finde ich heraus, auf welcher Datei ein StreamReader basiert?

Allgemeine Diskussion
-
Hallo,
ich habe folgendes Problem: Zum Debuggen muss ich herausfinden, welche Datei meine Applikation als StandardError verwendet. Ich bekomme zwar eine Referenz auf den STDERR des aktuellen Prozesses so:
Dim prc As Process = System.Diagnostics.Process.GetCurrentProcess() Dim stdErr As System.IO.StreamReader = prc.StandardError
Wie bekomme ich nun heraus, welche Datei dem stdErr zugrundeliegt? Leider hat das Objekt scheinbar keine Refernz auf die Datei. Ueber den BaseStream geht es auch.Hat jemand eine Idee? Gibt es einen anderen Weg herauszufinden, wo die Log-Datei fuer STDERR liegt?
Schoenen Gruss,
Martin
- Typ geändert Robert BreitenhoferModerator Donnerstag, 6. Oktober 2011 15:00 Keine Rückmeldung des Fragenstellender
Alle Antworten
-
Schonmal so versucht?
Dim f As IO.FileStream = CType(stdErr.BaseStream, IO.FileStream) MsgBox(f.Name)
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 29. September 2011 12:21 Formatierung
-
Danke fuer den Tipp. Ich bekomme bei der Zeile
Dim stdErr As System.IO.StreamReader = prc.StandardError
die folgende Fehlermeldung:
InvalidOperationException {"StandardError wurde nicht umgeleitet."}
bei System.Diagnostics.Process.get_StandardError()
bei Login(String Username, String Password, String MACAddress, String EditorID) in C:\Users\app.vb:Zeile 38.
bei SyncInvokeLogin(Object , Object[] , Object[] )
bei System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
bei System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)Funktioniert leider nicht. Wie kann es sein, dass ich an den STDERR nur herankommen wenn ich ihn umleite? Das ergibt doch keinen Sinn, oder?
Gruss,
Martin
-
Es wird noch eigenartiger. Selbst wenn ich den STDERR umleite, bekomme ich die InvalidOperationException.
Dim prc As Process = System.Diagnostics.Process.GetCurrentProcess() prc.StartInfo.RedirectStandardError = True prc.StartInfo.UseShellExecute = False
Wie komme ich an den output vom Stderr ran??
M
-
Hallo mwunderlich2,
Kannst Du mal den ganzen Code hier posten, damit man sieht wo der Prozess gestartet wird?
Ein paar links zum lesen:
Prozesse starten überwachen und beenden mit VB .NET
Process.StandardError Property
Danke und Grüße,
Robert
-
****************************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
****************************************************************************************************************