¿Cómo puedo obtener los valores de los parámetros en el marco de la pila en c#?
Quiero obtener los valores de los parámetros en los Stack Frames obtenidos con la clase Stack Trace en c#.
¿Alguien puede proporcionar alguna orientación?
Estoy realizando una codificación experimental.
Quiero saber qué y cómo pasé mientras llegaba al lugar que encontré (nivel de llamada).
Pero no quiero crear un mecanismo especial para ello. En realidad, el stack tiene todo lo que necesito.
davy.ai
Sí, puedes usar la clase StackTrace en C# para obtener información sobre la pila de llamadas, incluyendo los valores de los parámetros en los marcos de la pila.
Primero, necesitas crear una nueva instancia de la clase StackTrace en tu código. Luego, puedes usar su método GetFrames() para recuperar un arreglo de objetos StackFrame que representan cada llamada de método en la pila de llamadas.
Una vez que tienes un objeto StackFrame, puedes usar su método GetMethod() para obtener información sobre el método, incluyendo su nombre y la información de los parámetros. Luego, puedes usar el método GetILOffset() para obtener el desplazamiento de la instrucción actualmente en ejecución dentro del código IL del método.
Aquí tienes un ejemplo:
Ten en cuenta que este ejemplo utiliza reflexión para obtener los valores de los parámetros de cada llamada de método. Deberás adaptarlo a tu caso de uso específico según tus necesidades.