Estamos tratando de analizar un volcado de memoria w3wp usando windbg y encontramos que el proceso w3wp se bloquea debido al desbordamiento de la pila. Cargué el psscor4.dll y obtuve la pila de llamadas emitiendo! Clrstack. Pero también quiero saber los parámetros que se pasan a los métodos. Si ejecuto "! Clrstack -p" o "! Clrstack -a", obtenemos < sin datos > para todos los Parámetros y variables locales. Cualquier idea, ¿por qué estamos obteniendo < sin datos > en lugar de los valores reales para los Parámetros y las variables locales?! Clrstack -p que no proporciona los valores de los métodos en la pila de llamadas
11
A
Respuesta
9
Si está ejecutando una compilación de lanzamiento, por lo general no podrá rastrear locales y parámetros, ya que están optimizados y almacenados en registros. Si realmente lo necesita, puede mirar el código compilado JIT y localizar los valores en los registros, pero eso puede requerir una gran cantidad de libros.
14
Tales son las alegrías del código optimizado para la depuración. Si usa! Sosex.mdv, al menos obtendrá los tipos de datos de sus locals/args. Luego puede ejecutar! Sos.dso o! Sosex.mdso para ver los objetos en la pila con sus tipos. Por lo general, no es terriblemente difícil rastrear los argumentos de esta manera, aunque no siempre funciona.
Cuestiones relacionadas
- 1. Imprime los valores de los parámetros en la pila
- 2. ¿Es posible obtener los valores de los parámetros para cada cuadro en la pila de llamadas en .NET
- 3. Optional.absent() Los valores a los métodos concisa
- 4. Cambiando los valores de las variables en los métodos, Java
- 5. HashMap no proporciona valores en el orden en que los agregó
- 6. ¿Cómo encuentro las llamadas a los métodos?
- 7. Java: Recupere esto para los métodos anteriores en la pila
- 8. Llamada al método privado que retiene la pila de llamadas
- 9. Llamadas Async P/invocación
- 10. Capturar todos los métodos/llamadas de mensajes en un objeto
- 11. ¿Por qué la colección Controls no proporciona todos los métodos de IEnumerable?
- 12. ¿Cómo se determinan los valores guardados en la pila?
- 13. Imprimir pila de llamadas completa en printStackTrace()?
- 14. P = NP: ¿Cuáles son los métodos más prometedores?
- 15. ¿Cómo establecer los valores predeterminados para los parámetros de los métodos de url helper?
- 16. Código detrás de los métodos frente a Jquery Llamadas AJAX
- 17. ¿Por qué los parámetros de funciones se presionan antes en la pila de llamadas que la dirección de retorno?
- 18. ¿La clonación proporciona una mejora en el rendimiento sobre los métodos de construcción/fábrica?
- 19. pila de llamadas en el perfilador Potencia
- 20. El exportador de datos de Primefaces 3.4 no exporta los valores p: cellEditor
- 21. DataContractSerializer no deserializar correctamente, los valores para los métodos de objeto faltan
- 22. NSRangeException: Pila de llamadas no muestra número de línea
- 23. Ventana de pila de llamadas siempre vacía
- 24. No hay pila de llamadas en Excepción en xCode 4
- 25. Capture la pila de llamadas rápidamente
- 26. XCode 4.2: cuando la aplicación se bloquea, los hilos raramente muestran la pila de llamadas
- 27. Los métodos de extensión definidos en los tipos de valores no se pueden usar para crear delegados. ¿Por qué no?
- 28. ¿Utilizará doxygen los documentos de la clase base si una subclase no proporciona los suyos propios?
- 29. ¿Qué significa "código externo" en la pila de llamadas?
- 30. Xcode: seguimiento de la pila de llamadas en assert?
Creo que entiendo, hasta el punto en que hace la pregunta, "¿Alguna idea, por qué estamos obteniendo en lugar de valores reales para los Parámetros y las variables locales?" ¿Puedes reformular? –
@dtryon, he actualizado la pregunta ahora. Gracias por mencionarlo. – arul