VSInstr
Actualización: noviembre 2007
La herramienta VSInstr se utiliza para instrumentar binarios. Se invoca utilizando la sintaxis siguiente:
VSInstr [/U] filename [/options]
La tabla siguiente describe las opciones de la herramienta VSInstr:
Opciones |
Descripción |
---|---|
HELP O ? |
Muestra la Ayuda. |
U |
La opción U escribe la salida de la consola redirigida como Unicode. Debe ser la primera opción especificada. |
@filename |
El archivo de respuesta debería tener una opción de comando por línea. No utilice comillas tipográficas. |
OUTPUTPATH:path |
Directorio de destino para la imagen instrumentada. Si no se especifica la ruta de los resultados, se cambia el nombre del archivo binario original agregándole "Orig" al final en el mismo directorio y se instrumenta una copia del archivo binario original. |
CONTROL:{THREAD|PROCESS|GLOBAL} |
La opción CONTROL se utiliza para especificar el nivel de generación de perfiles de las funciones de control de recolección de datos siguientes: StartProfile StopProfile SuspendProfile ResumeProfile THREAD (especifica que las funciones de control de la recolección de datos se realizarán en el nivel de subproceso). Se inicia o se detiene la generación de perfiles únicamente para el subproceso actual. El estado de generación de perfiles de los demás subprocesos no se ve afectado. El valor predeterminado es thread. PROCESS (especifica que las funciones de control de la recolección de datos de generación de perfiles se realizarán en el nivel de proceso). Se inicia o se detiene la generación de perfiles para todos los subprocesos del proceso actual. El estado de generación de perfiles de los demás procesos no se ve afectado. GLOBAL (especifica que las funciones de control de la recolección de datos se realizarán en el nivel global (para todos los procesos)). Se produce un error si no se especifica el nivel de generación de perfiles. |
START:{INSIDE|OUTSIDE},funcname |
La opción START se utiliza para limitar la recolección de datos a la función de destino y a las funciones secundarias a las que ésta llama. INSIDE (inserta la función StartProfile inmediatamente después de la entrada a la función de destino). Inserta la función StopProfile inmediatamente antes de cada devolución de la función de destino. OUTSIDE (inserta la función StartProfile inmediatamente antes de cada llamada a la función de destino). Inserta la función StopProfile inmediatamente después de cada llamada a la función de destino. funcname (nombre de la función de destino). |
SUSPEND:{INSIDE|OUTSIDE},funcname |
La opción SUSPEND se utiliza para excluir la recolección de datos para la función de destino y las funciones secundarias a las que ésta llama. INSIDE (inserta la función SuspendProfile inmediatamente después de la entrada a la función de destino). Inserta la función ResumeProfile inmediatamente antes de cada devolución de la función de destino. OUTSIDE (inserta la función SuspendProfile inmediatamente antes de la entrada a la función de destino). Inserta la función ResumeProfile inmediatamente después de la salida de la función de destino. funcname (nombre de la función de destino). Si la función de destino contiene una función StartProfile, la función SuspendProfile se inserta antes de ella. Si la función de destino contiene una función StopProfile, la función ResumeProfile se inserta después de ella. |
STARTONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
La opción STARTONLY se utiliza para comenzar la recolección de datos durante una ejecución de generación de perfiles. Inserta la función API StartProfile en la ubicación especificada. BEFORE (inmediatamente antes de la entrada de la función de destino). AFTER (inmediatamente después de la salida de la función de destino). TOP (inmediatamente después de la entrada de la función de destino). BOTTOM (inmediatamente antes de cada devolución de la función de destino). funcname (nombre de la función de destino). |
STOPONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
La opción STOPONLY se utiliza para detener la recolección de datos durante una ejecución de generación de perfiles. Inserta la función StopProfile en la ubicación especificada. BEFORE (inmediatamente antes de la entrada de la función de destino). AFTER (inmediatamente después de la salida de la función de destino). TOP (inmediatamente después de la entrada de la función de destino). BOTTOM (inmediatamente antes de cada devolución de la función de destino). funcname (nombre de la función de destino). |
SUSPENDONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
La opción SUSPENDONLY se utiliza para detener la recolección de datos durante una ejecución de generación de perfiles. Inserta la API SuspendProfile en la ubicación especificada. BEFORE (inmediatamente antes de la entrada de la función de destino). AFTER (inmediatamente después de la salida de la función de destino). TOP (inmediatamente después de la entrada de la función de destino). BOTTOM (inmediatamente antes de cada devolución de la función de destino). funcname (nombre de la función de destino). Si la función de destino contiene una función StartProfile, la función SuspendProfile se inserta antes de ella. |
RESUMEONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname |
La opción RESUMEONLY se utiliza para iniciar o reanudar la recolección de datos durante una ejecución de generación de perfiles. Normalmente se utiliza para iniciar la generación de perfiles cuando ésta se ha detenido mediante una opción SUSPENDONLY. Inserta una API ResumeProfile en la ubicación especificada. BEFORE (inmediatamente antes de la entrada de la función de destino). AFTER (inmediatamente después de la salida de la función de destino). TOP (inmediatamente después de la entrada de la función de destino). BOTTOM (inmediatamente antes de cada devolución de la función de destino). funcname (nombre de la función de destino). Si la función de destino contiene una función StopProfile, la función ResumeProfile se inserta después de ella. |
EXCLUDE:funcspec |
La opción EXCLUDE indica una especificación de función para excluir del instrumental por rastreos. Resulta de gran utilidad cuando la inserción de análisis de perfiles en una función provoca un resultado imprevisto o no deseado. No utilice opciones EXCLUDE e INCLUDE que hagan referencia a funciones del mismo binario. Puede especificar varias especificaciones de funciones con opciones EXCLUDE independientes. funcspec se define como: [namespace<separador1>] [class<separador2>]function <separador1> es :: para código nativo y . para código administrado. <separador2> siempre es :: La opción EXCLUDE es compatible con cobertura de código. Para excluir todas las funciones de un espacio de nombres se utiliza el carácter comodín: MyNamespace::* |
INCLUDE:funcspec |
La opción INCLUDE define una especificación de función en un archivo binario para la instrumentación con análisis. No se instrumenta ninguna otra función de los binarios. Puede especificar varias especificaciones de funciones con opciones INCLUDE independientes. No utilice las opciones INCLUDE ni EXCLUDE que hagan referencia a funciones del mismo binario. La opción INCLUDE no es compatible con cobertura de código. funcspec se define como: [namespace<separador1>] [class<separador2>]function <separador1> es :: para código nativo y . para código administrado. <separador2> siempre es :: |
EXCLUDESMALLFUNCS |
Excluye de la instrumentación las funciones pequeñas, que son funciones cortas que no realizan ninguna llamada de función. La opción de EXCLUDESMALLFUNCS proporciona menos sobrecarga de instrumentación y, en consecuencia, mejora la velocidad de instrumentación. La exclusión de las funciones pequeñas también reduce el tamaño del archivo .vsp y el tiempo requerido para el análisis. |
MARK:{BEFORE|AFTER|TOP|BOTTOM},funcname,markid |
La opción MARK inserta una función de la API MarkProfile en la entrada a la función de destino o a la salida. La API MarkProfile inserta una marca de perfil (un identificador que se utiliza para delimitar los datos de los informes) que se puede utilizar para identificar el inicio o el final del intervalo de datos del archivo de informe .vsp. BEFORE (inmediatamente antes de la entrada de la función de destino). AFTER (inmediatamente después de la salida de la función de destino). TOP (inmediatamente después de la entrada de la función de destino). BOTTOM (inmediatamente antes de cada devolución de la función de destino). funcname (nombre de la función de destino). Markid (entero positivo (largo) para su uso como identificador de la marca de perfil). |
COVERAGE |
La opción COVERAGE realiza instrumentación de cobertura. Se puede combinar con la opción OUTPUTPATH. |
VERBOSE |
La opción VERBOSE se utiliza para ver información detallada sobre el proceso de instrumentación. |
NOWARN[:[Message Number[;Message Number]]] |
La opción NOWARN se utiliza para suprimir todas las advertencias o algunas en particular. Message Number (número de la advertencia). Si se omite Message Number, se suprimen todas las advertencias. Para obtener más información, vea Advertencias de VSInstr. |
DUMPFUNCS |
La opción DUMPFUNCS muestra las funciones dentro de la imagen especificada. No se realiza ninguna instrumentación. |
Vea también
Referencia
Definiciones de columnas de informes de las herramientas de generación de perfiles