IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ASP.net ligne d'erreur stacktrace


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Par défaut ASP.net ligne d'erreur stacktrace
    Bonjour,

    Je développe un site en asp.net dans un environnement de developpement. Je compile mon projet en mode debug et arrive à obtenir la ligne d'erreur survenu lors d'un try catch. (Ex.Stacktrace)
    Lorsque je met mon projet en environnement de prod je n ai plus le numéro de la ligne d'erreur (il y a quelques mois cela marchait bien ms plus maintenant), je n'ai que les appels de fonctions survenus avant l'erreur

    Quelqu'un pourrait-il m'aider ?
    Il doit manquer quelque chose dans mon web.config ou ma conf IIS ???

    Merci d'avance
    --
    osyks

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Salut,

    Ces informations précises sont situés dans les fichiers pdb. En debug, sur nos postes ils y sont toujours, ce qui nous permet d'avoir la ligne posant problème.
    En release, c'est aussi possible de les avoir, mais attention niveau secu c'est très limite !

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Par défaut
    En fait ce que je veux c'est que quand j'ecris Ex.StackTrace dans un fichier j'ai le numéro de la ligne ayant généré l'erreur

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Je reformule ma réponse :
    StackTrace ne contient le numéro de ligne que si les fichiers pdb sont présents.

  5. #5
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Par défaut
    le fichier pdb est présent ds mon repertoire bin pourtant....

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Un solution consiste à capturer les exceptions dans la méthode ApplicationError du Global.asax. Tu peux ensuite logguer ton message dans un fichier log ou en base ou encore l'envoyer par mail.

    Petit bout de code qui peut servir d'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
      void Application_Error(object sender, EventArgs e)
        {
            HttpContext context = ((HttpApplication)sender).Context;
            Exception ex = context.Server.GetLastError();
            if (ex == null || !(ex is HttpException) || (ex as HttpException).GetHttpCode() == 404)
                return;
     
            StringBuilder sb = new StringBuilder();
     
            try
            {
                sb.Append("Url : " + context.Request.Url);
                sb.Append(Environment.NewLine);
                sb.Append("Raw Url : " + context.Request.RawUrl);
                sb.Append(Environment.NewLine);
     
                while (ex != null)
                {
                    sb.Append("Message : " + ex.Message);
                    sb.Append(Environment.NewLine);
                    sb.Append("Source : " + ex.Source);
                    sb.Append(Environment.NewLine);
                    sb.Append("StackTrace : " + ex.StackTrace);
                    sb.Append(Environment.NewLine);
                    sb.Append("TargetSite : " + ex.TargetSite);
                    sb.Append(Environment.NewLine);
                    ex = ex.InnerException;
                }
            }
            catch (Exception ex2)
            {
                sb.Append("Error logging error : " + ex2.Message);
            }
     
           //ENVOI PAR MAIL, OU ENREGISTREMENT DANS UN LOG
     
            context.Items["LastErrorDetails"] = sb.ToString();
            context.Response.StatusCode = 500;
            Server.ClearError();
     
            // Server.Transfer is prohibited during a page callback.
            System.Web.UI.Page currentPage = context.CurrentHandler as System.Web.UI.Page;
            if (currentPage != null && currentPage.IsCallback)
                return;
     
            context.Server.Transfer("~/error.aspx");
        }
    En espérant t'avoir aidé.

Discussions similaires

  1. [ASP.net, VS2008] débutant : Erreur Objet attendu
    Par betsprite dans le forum jQuery
    Réponses: 6
    Dernier message: 21/07/2010, 11h35
  2. ASP.NET 2.0 erreur : "The timeout period.."
    Par killysui dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/03/2009, 16h44
  3. ASP.net 1.1 : Erreur OutOfMemory
    Par morgiou dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/12/2008, 13h53
  4. [asp.net]Apparition "d'erreurs" de syntaxe
    Par Gumpy dans le forum Visual Studio
    Réponses: 1
    Dernier message: 30/10/2007, 17h33
  5. asp.net 1.1 : Erreur de compilation CS0016
    Par fumesec dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/03/2007, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo