2011-08-02 13 views
5

¿Por qué obtengo un Invalid parameter poi(adr+4) cuando ejecuto el siguiente comando en WinDbg mientras se depura un archivo de volcado?Error al usar .ForEach en WinDbg

.foreach (adr { !dumpheap -mt 66df13d4 -short }) { !do poi(adr+4); } 

A continuación se muestra que el valor de adr se está poblada bien.

.foreach (adr { !dumpheap -mt 66df13d4 -short }) { .echo adr; } 

Quiero obtener el contenido de una variable de cadena .NET que se almacena en el cuarto desplazamiento de un objeto System.Web.Caching.CacheEntry.

Respuesta

5

Necesita espacios entre adr o use ${adr}. Esto está documentado en MSDN

Nota cuando la cadena de variables aparece dentro OutCommands, debe ser rodeado de espacios. Si es adyacente a cualquier otro texto, incluso un paréntesis , no será reemplazado por el valor del token actual, a menos que use el token ${ } (Alias Interpreter).

+0

¡Gracias! usando '$ {}' trabajado! –

Cuestiones relacionadas