Command Line Switches

This section describes the command line switches that are currently supported by Pin.

Pin switches should appear after the pin command, but before the -t <tool> option. The following Pin switches are supported:

-follow_execv Execute all processes spawned by the execv class system calls with Pin.
-help Print the help message.
-pause_tool <n> Pause and print the PID so the debugger can be attached after the tool is loaded. Processing will resume after "n" seconds.
-logfile Indicates the path and name of the log file. The default path is the current working directory. The default name is pin.log.
-unique_logfile Appends the pid to the log file name.
-error_file Indicates the path and name of the error file. The default path is the current working directory. If an error file is specified, all errors will be written to the error file, and will not be displayed on the console. If an error file is not specified, no error file will be created. The error file is designed to be parsed by tools that layer on top of Pin. See Pin Error Reporting Support.
-unique_error_file Appends the pid to the error file name.
-injection <mode> Where <mode> is one of dynamic, self, child, parent. UNIX-only. See Injection.
-inline Inline simple analysis routines.
-log_inline Report which analysis routines have been inlined in the pin.log file.
-limit_code_cache <n> Max (in bytes) code cache size (0==unlimited, default).
-pid <pid #> Attach Pin and the Pintool to an already running executable with the given process id.
-pin_memory_range Restrict pin to a memory range, 0x80000000:0x90000000 or size: 0:0x10000000.
-separate_memory Redirect pin and tool memory allocation to separate area.
-t <toolname> Specifies the Pintool to use. If you are running a 32-bit application in an IA-32 architecture, or a 64-bit application on an IA-64 architecture, only -t <toolname> is needed. If you are running an application on an Intel(R) 64 architecture, where all of the components in the chain are either 32-bit or 64-bit, but not both, only -t <toolname> is needed.
-t64 Specify 64-bit tool binary for Intel(R) 64 architecture. See Instrumenting Applications on Intel(R) 64 Architectures.
-p32 <toolname> Specify Pin binary for IA-32 architecture. See Instrumenting Applications on Intel(R) 64 Architectures.
-p64 <toolname> Specify Pin binary for Intel(R) 64 architecture. See Instrumenting Applications on Intel(R) 64 Architectures.
-smc_support [1][0] Enable (1) or disable (0) support for self-modifying code (SMC) in the application. This option is enabled by default.
-smc_strict [0][1] Enable (1) or disable (0) support for SMC inside basic blocks. By default (0), pin assumes that basic blocks do not modify their own code.
-appdebug Debug the application starting from its first instruction.
-appdebug_enable Enable application level debugger support, but do not stop application at first instruction.
-appdebug_silent Disable start-up message telling how to connect with GDB.
-appdebug_exclude Program names to exclude from debugger support, repeatable (use with -follow_execv).
-detach_reattach Allow detach and reattach in probe mode. Windows* only.
-debug_instrumented_processes Print message to allow debugger attach to instrumented processes. Windows* only.
-slow_asserts Perform expensive sanity checks

Pin also supports the following tool switches. Tool switches should be placed after the tool name, but before the double dash ("--").

-logfile Indicates the path and name of the log file. The default path is the current working directory. The default name is pintool.log.
-unique_logfile Appends the pid to the log file name.
-discard_line_info <module_name> Discard line information for specific module. Module name should be a short name without path, and not a symbolic link
-discard_line_info_all Discard line information for all modules.
-help Print the help message.
-short_name Use the shortest name for the RTN. Names with version substrings are preferred over the same name without the substring.
-symbol_path <list of paths> Specifies list of paths separated with semicolons that are searched to find symbol and line information. The list is searched when necessary after default search algorithm is applied. Default list is empty. Windows* only.
-use_dynsym Include dynamic symbols when finding function names.
-slow_asserts Perform expensive sanity checks. Recommended to be used in development and testing phase.

If you want to add your own command line options to your tool, please see KNOBS.


Generated on Tue Dec 15 03:24:17 2009 for Pin by  doxygen 1.4.6