VSInstr
Средство VSInstr используется для инструментирования двоичных файлов.При вызове этого средства используется следующий синтаксис:
VSInstr [/U] filename [/options]
Возможные параметры описываются параметры средства VSInstr.
Параметры |
Описание |
---|---|
Help или ? |
Выводит справку. |
U |
Запись перенаправленного вывода на консоль в кодировке Юникода.Этот параметр необходимо указывать первым. |
@filename |
Указание имени файла ответов, который содержит один параметр команды на строку. Не используйте кавычки. |
OutputPath:path |
Указание целевого каталога для инструментированного образа.Если путь целевого каталога не указывается, исходный двоичный файл переименовывается посредством добавления расширения "ORIG" к имени файла и сохраняется в том же каталоге. Инструментирование выполняется для копии двоичного файла. |
Exclude:funcspec |
Указание спецификации функции, которую требуется исключить из инструментирования посредством зондов.Этот параметр оказывается очень удобным, если вставка зондов профилирования в функцию приводит к непредсказуемым или нежелательным результатам. Не используйте Exclude и Include, относящиеся к функциям в одном двоичном файле. С помощью отдельных параметров Exclude можно указать несколько спецификаций функций. funcspec определяется следующим образом: [пространство_имен<разделитель1>] [класс<разделитель2>]функция <разделитель1> — это :: для машинного кода и . для управляемого кода. <разделитель2> — это всегда :: Параметр Exclude поддерживается с покрытием кода. Поддерживается подстановочный знак *.Например, чтобы исключить все функции в пространстве имен, используйте следующий синтаксис: MyNamespace::* С помощью команды VSInstr /DumpFuncs можно составить список функций в заданном двоичном файле. |
Include:funcspec |
Задание спецификации функции в двоичном файле, которую требуется инструментировать посредством зондов.Для всех других функций в двоичных файлах инструментирование не выполняется. С помощью отдельных параметров Include можно указать несколько спецификаций функций. Не используйте параметры Include и Exclude, относящиеся к функциям в одном двоичном файле. Параметр Include не поддерживается с покрытием кода. funcspec определяется следующим образом: [пространство_имен<разделитель1>] [класс<разделитель2>]функция <разделитель1> — это :: для машинного кода и . для управляемого кода. <разделитель2> — это всегда :: Поддерживается подстановочный знак *.Например, чтобы включить все функции в пространстве имен, используйте следующий синтаксис: MyNamespace::* С помощью команды VSInstr /DumpFuncs можно составить список функций в заданном двоичном файле. |
DumpFuncs |
Создает список функций в указанном образе.Инструментирование не выполняется. |
ExcludeSmallFuncs |
Исключает из инструментирования малые функции, то есть функции, которые не вызывают других функций.Параметр ExcludeSmallFuncs позволяет сократить временные затраты инструментирования и таким образом повысить скорость профилирования с инструментированием. При исключении малых функции также уменьшается размер VSP-файла и время, необходимое для анализа данных. |
Mark:{Before|After|Top|Bottom},funcname,markid |
Вставляет метку профилирования (идентификатор, используемый для разделения данных в отчете), которую можно использовать для определения начала и конца диапазона данных в VSP-файле отчета. Before — непосредственно перед точкой входа целевой функции. After— непосредственно после точки выхода целевой функции.. Top — непосредственно после точки входа целевой функции. Bottom — непосредственно перед каждой точкой возврата из целевой функции. funcname — имя целевой функции. Markid — положительное целое число (типа long), используемое в качестве идентификатора метки профилирования. |
Coverage |
Выполняет инструментирование покрытия кода.Возможно, он может использоваться только со следующими параметрами: VerboseOutputPath, Exclude и Logfile. |
Verbose |
Параметр Verbose используется для просмотра подробных сведений о процессе инструментирования. |
NoWarn[:[Message Number[;Message Number]]] |
Не выводить все или указанные предупреждения. Message Number — номер предупреждения.Если значение Message Number не указано, запрещается вывод всех предупреждений. Для получения дополнительной информации см. Предупреждения средства VSInstr. |
Control:{Thread|Process|Global} |
Задает уровень профилирования для следующих параметров управления сбором данных VSInstr: Start StartOnly Suspend StopOnly SuspendOnly ResumeOnly Thread — указывает для функций управления сбором данных уровень потока.Профилирование запускается и останавливается только для текущего потока.Состояние профилирования других потоков не изменяется."THREAD" является значением по умолчанию. Process — указывает для функций управления сбором данных уровень процесса.Профилирование запускается и останавливается для всех потоков в текущем процессе.Состояние профилирования других процессов не изменяется. Global — указывает для функций управления сбором данных глобальный уровень (межпроцессный). Если уровень профилирования не задан, возникает ошибка. |
Start:{Inside|Outside},funcname |
Ограничивает собираемые данные целевой функцией и дочерними функциями, вызываемыми этой функцией. Inside — функция StartProfile вставляется непосредственно после точки входа в целевую функцию.Функция StopProfile вставляется непосредственно перед каждой точкой передачи управления из целевой функции. Outside — функция StartProfile вставляется непосредственно перед каждым вызовом целевой функции.Функция StopProfile вставляется непосредственно после каждого вызова целевой функции. funcname — имя целевой функции. |
Suspend:{Inside|Outside},funcname |
Исключает сбор данных для целевой функции и дочерних функций, вызываемых этой функцией. Inside — функция SuspendProfile вставляется непосредственно после точки входа в целевую функцию.Функция ResumeProfile вставляется непосредственно перед каждой точкой передачи управления из целевой функции. Outside — функция SuspendProfile вставляется непосредственно перед точкой входа в целевую функцию.Функция ResumeProfile вставляется непосредственно после точки выхода из целевой функции. funcname — имя целевой функции. Если целевая функция содержит функцию StartProfile, функция SuspendProfile вставляется перед ней.Если целевая функция содержит функцию StopProfile, функция ResumeProfile вставляется после нее. |
StartOnly:{Before|After|Top|Bottom},funcname |
Начинает сбор данных в ходе сеанса профилирования.При этом в указанном расположении вставляется API-функция StartProfile. Before — непосредственно перед точкой входа целевой функции. After — непосредственно после точки выхода целевой функции. Top— непосредственно после точки входа целевой функции. Bottom — непосредственно перед каждой точкой возврата из целевой функции. funcname — имя целевой функции. |
StopOnly:{Before|After|Top|Bottom},funcname |
Прекращает сбор данных в ходе сеанса профилирования.При этом в указанном расположении вставляется функция StopProfile. Before — непосредственно перед точкой входа целевой функции. After — непосредственно после точки выхода целевой функции. Top— непосредственно после точки входа целевой функции. Bottom — непосредственно перед каждой точкой возврата из целевой функции. funcname — имя целевой функции. |
SuspendOnly:{Before|After|Top|Bottom},funcname |
Прекращает сбор данных в ходе сеанса профилирования.При этом в указанном расположении вставляется API-функция SuspendProfile. Before — непосредственно перед точкой входа целевой функции. After — непосредственно после точки выхода целевой функции. Top— непосредственно после точки входа целевой функции. Bottom — непосредственно перед каждой точкой возврата из целевой функции. funcname — имя целевой функции. Если целевая функция содержит функцию StartProfile, функция SuspendProfile вставляется перед ней. |
ResumeOnly:{Before|After|Top|Bottom},funcname |
Начинает или возобновляет сбор данных в ходе сеанса профилирования. Обычно используется для возобновления профилирования после его приостановки с помощью параметра SuspendOnly.При этом в указанном расположении вставляется API-функция ResumeProfile. Before — непосредственно перед точкой входа целевой функции. After — непосредственно после точки выхода целевой функции. Top— непосредственно после точки входа целевой функции. Bottom — непосредственно перед каждой точкой возврата из целевой функции. funcname — имя целевой функции. Если целевая функция содержит функцию StopProfile, функция ResumeProfile вставляется после нее. |
См. также
Ссылки
Предупреждения средства VSInstr