Je parle de code .NET géré. Si nous exécutons un programme et y attachons VS, nous pouvons voir les valeurs des paramètres pour chaque méthode dans la pile d'appels. Je voudrais créer une solution de journalisation qui enregistrera toutes les valeurs de paramètres pour chaque méthode dans la pile d'appel. En fait, j'ai besoin de cette information en cas d'exception.Est-il possible d'obtenir les valeurs des paramètres pour chaque trame dans la pile d'appel dans .NET?
Je sais que c'est possible avec l'API de profilage. Mais je me demande est-ce possible avec seulement du code managé?
MISE À JOUR: Ok, probablement avec .NET net c'est impossible. Alors peut-être avec une sorte de code non géré ... le point est de le faire à partir de l'application elle-même. Une application en cas d'exception peut appeler une bibliothèque (peut-être non gérée) qui renvoie des informations sur les valeurs des méthodes dans la pile d'appels. Juste pensées ...
Notez que les optimisations, en particulier en mode « Release », inline, etc., peuvent rendre l'information de ne pas apparaître dans la pile d'appels. Vous devriez mieux ne pas compter sur ce genre d'information. – Lucero
Bien sûr, la logique de l'application ne devrait pas compter sur ces informations. Mais je parle juste de l'enregistrement à des fins de diagnostic. – Shrike
Je l'ai compris. Cependant, si vous obtenez un extrait de journal et que vous ne disposez pas d'informations fiables, son utilité est limitée. – Lucero