Domanda

Ho un'applicazione Web live che non riesce in uno scenario specifico e a livello locale funziona bene. Non ho la configurazione di debug a distanza e voglio controllare il valore di alcune delle variabili nel codice. Quale sarebbe il modo più veloce per me di registrare/e -mail/eseguire il debug del codice per visualizzare quei valori?

Solo per essere chiari, non vi è alcun errore/eccezione. Qualcosa è diverso e sta causando l'applicazione a dare risultati inaspettati.

Grazie in anticipo!

È stato utile?

Soluzione

Il più veloce Il modo è semplicemente implementare un po 'di registrazione nell'evento Application_error all'interno del tuo file global.asax. Se non si dispone di un file Global.asax, crea semplicemente uno con la procedura guidata VS New File e gestirà quell'evento per te.

Non ti aiuterà a raggiungere le variabili locali all'ambito dell'errore, ma puoi registrare variabili globali da lì e almeno ricevere un feedback su quale sia l'errore.

EDIT: In risposta al tuo commento, ti consiglio di output i tuoi dati di traccia a un file che puoi analizzare. Non l'ho provato da solo, ma l'ho visto raccomandato. Sul tuo web.config, aggiungi qualcosa chiamato a Tracelistener così:

<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>

Avrai bisogno di giocarci localmente, ne sono sicuro. Ad esempio, assicurarsi che la traccia non sia visibile al cliente (ciò può comportare l'uso della classe di traccia per attivare o disattivare la traccia e cambiare i flussi a cui scrive).

Altri suggerimenti

Oltre al commento di Joshjordan, potresti essere in grado di utilizzare Post acuto Per tracciare ogni volta che viene inserito un metodo e non è uscito, e vedere quali valori stanno arrivando in esso ...

Puoi sempre attivare il debug locale solo e quindi remoto sul server e utilizzare l'app.

Potrebbe essere il modo più veloce per vedere il tuo problema.

Ci proverei con ASP.NET Trace (http://www.4guysfromrolla.com/webtech/081501-1.shtml) per una registrazione rapida. Dovrai aggiungere Trace.write () chiamate nel tuo codice e puoi vedere il registro nella pagina live stessa (solo per navigare).

Per una registrazione più ricca puoi utilizzare Log4Net (solo Google "Utilizzo di Log4Net" e otterrai un sacco di link utili), che è facilmente configurabile e ti consente di inviare registri via e -mail (che è incredibilmente utile!).

Spero possa aiutare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top