Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El comando .ocommand permite que la aplicación de destino envíe comandos al depurador.
.ocommand String
.ocommand -d
.ocommand
Parámetros
Cuerda
Especifica la cadena de prefijo de comando. La cadena puede incluir espacios, pero no puede usar caracteres de control de estilo C como \" y \n. También puede incluir string entre comillas. Sin embargo, si String incluye un punto y coma, espacios iniciales o espacios finales, debe incluir string entre comillas.
-d
Elimina la cadena de prefijo de comando.
Entorno
Elemento | Descripción |
---|---|
Modos | solo modo de usuario |
Destinos | solo depuración en vivo |
Platforms | all |
Información adicional
Para obtener más información sobre OutputDebugString y otras funciones en modo de usuario que se comunican con un depurador, consulte la documentación de Microsoft Windows SDK.
Comentarios
Si usa el comando .ocommand sin parámetros, el depurador muestra la cadena de prefijo de comando actual. Para borrar la cadena existente, use .ocommand -d.
Cuando haya establecido una cadena de prefijo de comando, se examina cualquier salida de destino (como el contenido de un comando OutputDebugString). Si esta salida comienza con la cadena de prefijo de comando, el texto de la salida que sigue a la cadena de prefijo se trata como una cadena de comandos del depurador y se ejecuta. Cuando se ejecuta este texto, no se muestra la cadena de comandos.
El destino puede incluir un comando .echo (Echo Comment) en la cadena de salida si desea mensajes adicionales. La salida de destino que no comienza con la cadena de prefijo se muestra de la manera típica.
Una vez ejecutados los comandos dentro de la cadena de comandos, el destino permanece dividido en el depurador, a menos que el comando final sea g (Go).
La comparación entre la cadena de prefijo de comando y la salida de destino no distingue mayúsculas de minúsculas. (Sin embargo, los usos posteriores de .ocommand muestran la cadena que escribió con el caso conservado).
En este ejemplo, supongamos que escribe el siguiente comando en el depurador.
0:000> .ocommand magiccommand
A continuación, la aplicación de destino ejecuta la siguiente línea.
OutputDebugString("MagicCommand kb;g");
El depurador reconoce el prefijo de cadena de comandos y ejecuta kb; g inmediatamente.
Sin embargo, la línea siguiente no hace que se ejecute ningún comando.
OutputDebugString("Command on next line.\nmagiccommand kb;g");
No hay comandos ejecutados desde el ejemplo anterior porque el prefijo de cadena de comandos no está al principio de la salida, aunque comience una nueva línea.
Nota Debe elegir un prefijo de cadena de comandos que probablemente no aparezca en ninguna salida de destino que no sea sus propios comandos.