Frage

Ich habe eine Live-Webanwendung, die in einem bestimmten Szenario ausfällt, und lokal funktioniert sie einwandfrei.Ich habe kein Remote-Debugging-Setup und möchte den Wert einiger Variablen im Code überprüfen.Was wäre für mich der schnellste Weg, den Code zu protokollieren, per E-Mail zu versenden oder zu debuggen, um diese Werte anzuzeigen?

Um es klarzustellen: Es wird kein Fehler/keine Ausnahme ausgelöst.Etwas ist anders und führt dazu, dass die Anwendung unerwartete Ergebnisse liefert.

Dank im Voraus!

War es hilfreich?

Lösung

Der am schnellsten Die Möglichkeit besteht darin, einfach eine Protokollierung im Application_Error-Ereignis in Ihrer Global.asax-Datei zu implementieren.Wenn Sie keine Global.asax-Datei haben, erstellen Sie einfach eine mit dem VS-Assistenten für neue Dateien, und dieser Vorgang wird für Sie verarbeitet.

Es wird Ihnen nicht dabei helfen, zu den lokalen Variablen im Fehlerbereich zu gelangen, aber Sie können von dort aus globale Variablen protokollieren und zumindest ein Feedback zum Fehler erhalten.

BEARBEITEN:Als Antwort auf Ihren Kommentar empfehle ich Ihnen, Ihre Trace-Daten in eine Datei auszugeben, die Sie analysieren können.Ich habe es selbst noch nicht ausprobiert, aber ich habe gesehen, dass es empfohlen wird.Fügen Sie Ihrer web.config etwas namens a hinzu 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>

Ich bin mir sicher, dass Sie vor Ort damit herumspielen müssen.Stellen Sie beispielsweise sicher, dass der Trace für den Client nicht sichtbar ist (dies kann die Verwendung der Trace-Klasse zum Aktivieren oder Deaktivieren des Trace und das Ändern der Streams erfordern, in die er schreibt).

Andere Tipps

Zusätzlich zu Joshjordans Kommentar können Sie möglicherweise verwenden Post scharf Zu verfolgen, wann immer eine Methode eingegeben und nicht beendet wird, und sehen Sie, welche Werte in sie kommen ...

Sie können jederzeit nur lokales Debuggen einschalten und dann auf den Server remoten und die App verwenden.

Könnte der schnellste Weg sein, um Ihr Problem zu sehen.

Ich würde es mit ASP.NET Trace versuchen (http://www.4guysfromrolla.com/webbtech/081501-1.shtml) Für schnelle Protokollierung. Sie müssen Trace.Write () -Anrufe in Ihren Code hinzufügen und das Anmelden auf der Live -Seite selbst (nur durch das Surfen) sehen.

Für eine reichhaltigere Protokollierung können Sie Log4Net verwenden (nur Google "Verwenden von Log4Net" und Sie erhalten eine Menge nützlicher Links), was leicht konfigurierbar ist und Sie Protokolle per E -Mail senden können (was erstaunlich praktisch ist!).

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top