S2sinstrument: Difference between revisions
Jump to navigation
Jump to search
(New page: == The STRIDE Instrumentation Utility == The '''s2sinstrument.exe''' executable generates instrumentation code, also known as IM, or intercept module code. It is a command line utility th...) |
No edit summary |
||
Line 2: | Line 2: | ||
The '''s2sinstrument.exe''' executable generates instrumentation code, also known as IM, or intercept module code. It is a command line utility that accepts the following input: | The '''s2sinstrument.exe''' executable generates instrumentation code, also known as IM, or intercept module code. It is a command line utility that accepts the following input: | ||
* database (sidb) file | * database (.sidb) file | ||
* intercept module name | * intercept module name | ||
* C/C++ code files, output location and C header files output location | * C/C++ code files, output location and C header files output location | ||
Line 13: | Line 13: | ||
=== Syntax === | === Syntax === | ||
s2sinstrument [options] database_file | s2sinstrument [<i>options</i>] <i>database_file</i> | ||
=== Options === | === Options === | ||
Line 21: | Line 21: | ||
!width="500pt"|'''Description''' | !width="500pt"|'''Description''' | ||
|- | |- | ||
| --im_name=<string> | | --im_name=<i><string></i> | ||
| The intercept module name. The default is the base name of the databaseFile. | | The intercept module name. The default is the base name of the databaseFile. | ||
|- | |- | ||
| --im_suffix=<string> | | --im_suffix=<i><string></i> | ||
| The intercept module file name suffix. The default is "IM". | | The intercept module file name suffix. The default is "IM". | ||
|- | |- | ||
| --code_output=<path> | | --code_output=<i><path></i> | ||
| The location of the generated C or C++ files. The default is the current directory. | | The location of the generated C or C++ files. The default is the current directory. | ||
|- | |- | ||
| --header_output=<path> | | --header_output=<i><path></i> | ||
| The location of the generated header files and text (read me) file. The default is the current directory. | | The location of the generated header files and text (read me) file. The default is the current directory. | ||
|- | |- | ||
Line 42: | Line 42: | ||
| When present, C++ exceptions would not be handled as errors. | | When present, C++ exceptions would not be handled as errors. | ||
|- | |- | ||
| --prototype=<tag> | | --prototype=<i><tag></i> | ||
| Generate only prototype header files. <tag> is a unique tag that would be appended to the prototype header file name. | | Generate only prototype header files. <i><tag></i> is a unique tag that would be appended to the prototype header file name. | ||
|- | |- | ||
| --implement | | --implement | ||
| Generate only implementation files. | | Generate only implementation files. | ||
|- | |- | ||
| --default_mode=<mode>[ | | --default_mode=<i><mode></i>[<i><group_id></i>] | ||
| Optional. When present, sets the default generation mode. If not present the <mode> is assumed to be "S" and < | | Optional. When present, sets the default generation mode. If not present the <i><mode></i> is assumed to be "S" and <i><group_id></i> empty. | ||
The format of the <mode> is "SP[Doued]", where:<br> | The format of the <i><mode></i> is "SP[Doued]", where:<br> | ||
* "S" - stub<br> | * "S" - stub<br> | ||
* "P" – proxy<br> | * "P" – proxy<br> | ||
Line 58: | Line 58: | ||
* "e" – explicit<br> | * "e" – explicit<br> | ||
* "d" - dynamic<br> | * "d" - dynamic<br> | ||
The < | The <i><group_id></i> is the delegate group id. | ||
|- | |- | ||
| --mode=<mode>[ | | --mode=<mode>[<i><group_id></i>] (<i><interface></i>[,<i><interface></i>…]) | ||
| Interface specific generation mode. The <i><mode></i> and <i><group_id></i> are the same as above. The <i><interface></i> is an interface name.<br> | |||
| Interface specific generation mode. The <mode> and < | |||
This option could be repeated as many times as needed. It overrides any '''--default_mode''' option otherwise in effect. | This option could be repeated as many times as needed. It overrides any '''--default_mode''' option otherwise in effect. | ||
|- | |- | ||
| --options_file=<file> | | --options_file=<i><file></i> | ||
| A file that contains command line options. This option is necessary if the length of the command line string exceeds system limits. Otherwise it is provided only as a convenience. | | A file that contains command line options. This option is necessary if the length of the command line string exceeds system limits. Otherwise it is provided only as a convenience. | ||
|} | |} |
Revision as of 21:39, 18 June 2008
The STRIDE Instrumentation Utility
The s2sinstrument.exe executable generates instrumentation code, also known as IM, or intercept module code. It is a command line utility that accepts the following input:
- database (.sidb) file
- intercept module name
- C/C++ code files, output location and C header files output location
- a set of configuration options
The resulting output files will be generated:
- a prototype header file <im_name>IM.h
- implementation files <im_name>IM.c(pp) and <im_name>IMEmtry.h
- a read-me file <im_name>IMReadMe.txt.
Syntax
s2sinstrument [options] database_file
Options
Option | Description |
---|---|
--im_name=<string> | The intercept module name. The default is the base name of the databaseFile. |
--im_suffix=<string> | The intercept module file name suffix. The default is "IM". |
--code_output=<path> | The location of the generated C or C++ files. The default is the current directory. |
--header_output=<path> | The location of the generated header files and text (read me) file. The default is the current directory. |
--strip_path | When present, the path information from include directives will be striped. |
--disable_access_class | When present, all interface SUIDs will be explicitly registered instead of using access class registration. |
--suppress_exception_handling | When present, C++ exceptions would not be handled as errors. |
--prototype=<tag> | Generate only prototype header files. <tag> is a unique tag that would be appended to the prototype header file name. |
--implement | Generate only implementation files. |
--default_mode=<mode>[<group_id>] | Optional. When present, sets the default generation mode. If not present the <mode> is assumed to be "S" and <group_id> empty.
The format of the <mode> is "SP[Doued]", where:
The <group_id> is the delegate group id. |
--mode=<mode>[<group_id>] (<interface>[,<interface>…]) | Interface specific generation mode. The <mode> and <group_id> are the same as above. The <interface> is an interface name. This option could be repeated as many times as needed. It overrides any --default_mode option otherwise in effect. |
--options_file=<file> | A file that contains command line options. This option is necessary if the length of the command line string exceeds system limits. Otherwise it is provided only as a convenience. |