2009-08-12 8 views
0

Ich habe eine Live-Web-Anwendung, die in einem bestimmten Szenario fehlschlägt, und lokal funktioniert es gut. Ich habe kein Remote-Debugging-Setup, und ich möchte den Wert einiger der Variablen im Code überprüfen. Was wäre der schnellste Weg für mich, den Code zu protokollieren/zu mailen/debuggen, um diese Werte anzuzeigen?Was ist der schnellste Weg, um eine Live-Webanwendung zu protokollieren?

Nur um klar zu sein, gibt es keine Fehler/Ausnahme geworfen wird. Etwas ist anders, und die Anwendung verursacht unerwartete Ergebnisse.

Vielen Dank im Voraus!

Antwort

2

Die schnellste Weg ist einfach einige Protokollierung in der Application_Error-Ereignis innerhalb Ihrer Global.asax-Datei zu implementieren. Wenn Sie keine Global.asax-Datei haben, erstellen Sie einfach eine Datei mit dem Assistenten für neue VS-Dateien, und das Ereignis wird für Sie behandelt.

Es wird Ihnen nicht helfen, zu lokalen Variablen im Bereich des Fehlers zu gelangen, aber Sie können globale Variablen von dort protokollieren und zumindest eine Rückmeldung über den Fehler erhalten.

BEARBEITEN: Als Reaktion auf Ihren Kommentar empfehle ich Ihnen, Ihre Trace-Daten in eine Datei auszugeben, die Sie analysieren können. Ich habe das selbst nicht versucht, aber ich habe es empfohlen. Um Ihre web.config, fügen Sie etwas namens ein Tracelistener etwa so:

<system.diagnostics> 
<trace autoflush="true"> 
<listeners> 
<add name="TestTracer" 
type="System.Diagnostics.TextWriterTraceListener, System, 
Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
initializeData="<app root directory>\Asptesttrace.log" /> 
</listeners> 
</trace> 
</system.diagnostics> 

Sie gehen mit ihm vor Ort zu spielen, um zu müssen, ich bin sicher. Stellen Sie beispielsweise sicher, dass die Ablaufverfolgung für den Client nicht sichtbar ist (dies kann die Verwendung der Ablaufverfolgungsklasse zum Ein- oder Ausschalten der Ablaufverfolgung und zum Ändern der Streams, in die sie schreibt, erforderlich machen).

+0

Entschuldigung, ich hätte genauer sein sollen. Es wird keine Ausnahme ausgelöst, nur dass die Anwendung nicht wie erwartet funktioniert. SO wird mir das Ereignis application_error nicht helfen. –

+0

In diesem Fall ist es viel schwieriger :) Eine Sekunde, lassen Sie mich bearbeiten. – JoshJordan

1

Neben JoshJordan Kommentar können Sie in der Lage sein Post Sharp zu verwenden zu verfolgen, wenn eine Methode und nicht verlassen eingegeben wird, und sehen, welche Werte in sie kommen ...

1

Sie können jederzeit auf lokale drehen nur debuggen und dann remote auf dem Server und verwenden Sie die App.

Möglicherweise der schnellste Weg, um Ihr Problem zu sehen.

1

Ich würde versuchen mit ASP.NET Trace (http://www.4guysfromrolla.com/webtech/081501-1.shtml) für die schnelle Protokollierung. Sie müssen Trace.Write() - Aufrufe in Ihrem Code hinzufügen und Sie können das Protokoll in der Live-Seite selbst sehen (nur durch Browsen).

Für eine bessere Protokollierung können Sie log4net verwenden (einfach googeln "mit log4net" und Sie erhalten viele nützliche Links), die einfach zu konfigurieren ist und Sie Protokolle per E-Mail senden können (was erstaunlich praktisch ist!).

Hoffnung, das hilft.

Verwandte Themen