Question

J'ai une application Web en direct qui échoue dans un scénario spécifique, et localement cela fonctionne bien. Je n'ai pas de configuration de débogage à distance et je souhaite vérifier la valeur de certaines des variables du code. Quel serait le moyen le plus rapide pour moi de enregistrer / envoyer un e-mail / déboguer le code pour afficher ces valeurs?

Pour être clair, aucune erreur / exception n'est lancée. Quelque chose est différent et cela a fait que l'application donne des résultats inattendus.

Merci d'avance!

Était-ce utile?

La solution

La le plus rapide Way consiste à implémenter simplement une connexion dans l'événement Application_error dans votre fichier global.asax. Si vous n'avez pas de fichier global.asax, créez-en un simplement avec l'assistant de fichier VS nouveau et il gérera cet événement pour vous.

Cela ne vous aidera pas à accéder aux variables locales à la portée de l'erreur, mais vous pouvez enregistrer les variables globales à partir de là et au moins obtenir des commentaires sur l'erreur.

EDIT: En réponse à votre commentaire, je vous recommande de publier vos données de trace dans un fichier que vous pouvez analyser. Je n'ai pas essayé cela moi-même, mais je l'ai vu recommandé. À votre web.config, ajoutez quelque chose appelé un Tracelistener ainsi:

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

Vous allez avoir besoin de jouer avec localement, j'en suis sûr. Par exemple, assurez-vous que la trace n'est pas visible pour le client (cela peut impliquer l'utilisation de la classe de trace pour allumer ou désactiver la trace et modifier les flux pour lesquels il écrit).

Autres conseils

En plus du commentaire de Joshjordan, vous pourrez peut-être utiliser Poster la tranche Pour tracer chaque fois qu'une méthode est entrée et non quittée, et voyez quelles valeurs y arrivent ...

Vous pouvez toujours activer le débogage local, puis éloigner sur le serveur et utiliser l'application.

Peut-être le moyen le plus rapide de voir votre problème.

J'essaierais avec ASP.Net Trace (http://www.4guysfromrolla.com/webtech/081501-1.shtml) pour une journalisation rapide. Vous devrez ajouter des appels Trace.Write () dans votre code et vous pouvez voir la connexion dans la page en direct elle-même (juste en naviguant).

Pour la journalisation plus riche, vous pouvez utiliser LOG4NET (juste Google "Utilisation de Log4Net" et vous obtiendrez de nombreux liens utiles), qui est facilement configurable et vous permet d'envoyer des journaux par e-mail (ce qui est incroyablement pratique!).

J'espère que cela pourra aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top