Sto parlando di codice gestito .NET. Se eseguiamo qualsiasi programma e colleghiamo VS ad esso possiamo vedere i valori dei parametri per ogni metodo nello stack di chiamate. Mi piacerebbe creare una soluzione di registrazione che registrerà i valori di tutti i parametri per ogni metodo nello stack di chiamate. In realtà ho bisogno di queste informazioni nel caso si verifichi un'eccezione.È possibile ottenere i valori dei parametri per ogni frame nello stack di chiamate in .NET
So che è possibile con l'API di profilazione. Ma mi chiedo è possibile solo con il codice gestito?
UPDATE: Ok, probabilmente con puro .NET è impossibile. Quindi potrebbe essere con qualche tipo di codice non gestito ... il punto è farlo dall'interno dell'applicazione stessa. Un'applicazione in caso di un'eccezione potrebbe chiamare una libreria (potrebbe essere non gestita) che restituisce informazioni sui valori dei metodi nello stack di chiamate. Solo pensieri ...
Si noti che le ottimizzazioni, in particolare in modalità "Rilascio", inlining ecc., Possono rendere le informazioni non visualizzate nello stack di chiamate. È meglio non fare affidamento su questo tipo di informazioni. – Lucero
Certo, la logica dell'app non dovrebbe basarsi su tali informazioni. Ma sto solo parlando di registrazione per scopi diagnostici. – Shrike
L'ho capito. Tuttavia, se si ottiene un estratto del registro e non si hanno informazioni affidabili al suo interno, la sua utilità è limitata. – Lucero