Command-Line Options
-a args
Pass all subsequent arguments (specified by args) to the program specified by filename. This option must be the last one on the command line.
-args filename [args]
Specifies filename as the executable to debug, with args as optional arguments to pass to your program. This option must be listed last on the command line. You can also use --args instead of-args, for compatibility with other debuggers.
-background color
Sets the general background color to color.
-bg color
Same as -background.
Default: light blue
-check_unique_id
(Default). TotalView attempts to extract a unique ID from an image file before checksumming it. For detail, see the state variable
TV::check_unique_id.
-no_check_unique_id
TotalView does not try to extract a unique ID from an image file and instead relies on the setting
for
-checksum_libraries.
-checksum_libraries
(Default). TotalView checksums image files across nodes in a parallel debugging session. This setting is impacted by the setting for
-check_unique_id. For detail, see the state variable
TV::checksum_libraries.
-no_checksum_libraries
TotalView does not checksum image files across nodes in a parallel debugging session.
-classicUI
Launches the Classic TotalView UI rather than the modern UI
-control_c_quick_shutdown-ccq
(Default) Kills attached processes and exits.
-no_control_c_quick_shutdown -nccq
Invokes code that sometimes allows TotalView to better manage the way it kills parallel jobs when it works with management systems. This has only been tested with SLURM. It may not work with other systems.
-cuda
(Default) Enables CUDA debugging with TotalView.
-no_cuda
Disables CUDA debugging. Any CUDA kernels launched on a GPU device are not seen by the debugger, so the debugger can only debug the host code. -nocuda is the identical option.
-dbfork
(Default) Catches the fork(), vfork(), and execve() system calls if your executable is linked with the dbfork library.
-no_dbfork
Do not catch fork(), vfork(), and execve() system calls even if your executable is linked with the dbfork library.
-debug_file console_outputfile
Redirects TotalViewconsole output to a file namedconsole_outputfile.
If consoleoutputfile is the string UNIQUE, the filename tv_dump.hostname.pid is used. If console_outputfile contains the string '$$' (note the escaping single quotes), hostname.pid is substituted. UNIQUE and '$$' are useful for separating the console output when running multiple tvdsvr processes.
All TotalView console output is written to stderr.
-demangler= compiler
Overrides the demangler and mangler TotalView uses by default. The following indicate override options.
-demangler=gnu_dot:GNU C++ on Linux x86
-demangler=gnu_v3: GNU C++ Linux x86
-demangler=kai:KAI C++
-demangler=kai3_n:KAI C++ version 3.n
-demangler=kai_4_0: KAI C++
-demangler=spro:SunPro C++ 4.0 or 4.2
-demangler=spro5:SunPro C++ 5.0 or later
-demangler=sun:Sun CFRONT C++
-demangler=xlc:IBM XLC/VAC++ compilers
-display displayname
Sets the name of the X Windows display to displayname. For example, -display vinnie:0.0 displays TotalView on the machine named “vinnie.”
Default: The value of your DISPLAY environment variable.
-dll_ignore_prefix list
The colon-separated argument to this option sets TotalView to ignore files having this prefix when making a decision to ask about stopping the process when it dlopens a dynamic library. If the DLL being opened has any of the entries on this list as a prefix, the question is not asked.
-dll_stop_suffix list
The colon-separated argument to this option sets TotalView to ask if it should open a library that has any of the entries on this list as a suffix.
-dlopen_always_recalculate
(Default). Reevaluates breakpoint specifications on every dlopen call.
-no_dlopen_always_recalculate
Enables
dlopen event filtering, deferring the evaluation of breakpoint specifications based on the value of the option
‑dlopen_recalculate_on_match).
‑dlopen_recalculate_on_match glob-list
Default: "" (the empty string)
Contains a glob-list of patterns used to match against the path name of a dlopened library. If ‑dlopen_always_recalculate is set (the default), the value of this variable is ignored. When ‑no_dlopen_always_recalculate is set and a dlopen event occurs, TotalView matches the name of the dlopened library against the glob-list. Be careful to quote the glob-list to prevent shell expansion. For example, if a glob-list contains special characters such as *, ?, [, ], and !, be sure to quote the characters to prevent the shell from interpreting them. Note that some shells, like tcsh, will expand ! even when it is enclosed in double or single quotes, which requires escaping the ! with a backslash. For example, '\!*/libfoo*' will prevent a tcsh shell from expanding !* from history, and result in the glob-list being set to '!*/libfoo*'.
For a complete explanation of
dlopen event filtering, including use-case examples, please refer to
Filtering dlopen Events.
-dlopen_read_libraries_in_parallel
Enables dlopen events to be handled in parallel, reducing client/server communication overhead by using MRNet to fetch the library information.
-no_dlopen_read_libraries_in_parallel
(Default). Disables handling dlopened events in parallel.
-dump_core
Allows TotalView to dump a core file of itself when an internal error occurs. This is used to help Perforce Software debug problems.
-dwarf_global_index
(Default). Allows TotalView to use the DWARF global index sections (.debug_pubnames, .debug_pubtypes, .debug_typenames, etc.) in executable and shared library image files.
-no_dwarf_global_index
Forces TotalView to skim the DWARF instead of using them, which may cause TotalView to slow down when indexing symbol tables.
-e commands
Immediately executes the CLI commands named within this argument. All information you enter here is sent directly to the CLI’s Tcl interpreter. For example, the following writes a string to stdout:
cli -e 'puts hello'
You can have more than one-e option on a command line.
-ent
Uses only an Enterprise license.
-no_ent
Does not use an Enterprise license. You may combine this with -no_team or -‑noteamplus.
-env variable=value
Adds an environment variable to the environment variables passed to your program by the shell. If the variable already exists, it effectively replaces the previous value. You need to use this command for each variable being added; that is, you cannot add more than one variable with an env command.
‑exec_handling exec-handling-list
Default: "" (the empty string)
Controls how TotalView responds when a process being debugged calls execve().
This option’s argument, exec-handling-list, is a Tcl list of regexp and action pairs. The regexp contains the name of the parent process, and action defines an action for TotalView to take.
regexp: A regular expression. The regular expression is not anchored, so use "^" and "$" to match the beginning or end of the process name.
action: The action to take, as follows:
Action | Description |
---|
halt | Stop the process |
go | Continue the process |
ask | Ask whether to stop the process |
When a process that is being debugged execs a new executable, TotalView iterates over exec-handling-list to match the original process name (that is, the name of the process before the exec happened) against each regexp in the list. If it finds a match, it uses the corresponding action.
If a matching process name is not found in the
exec-handling-list, the value of the
TV::parallel_stop CLI state variable preference is used.
For more information, see “Controlling fork, vfork, and execve Handling” in the TotalView User Guide.
‑fork_handling fork-handling-list
Default: "" (the empty string)
Controls how TotalView launches or attaches to new processes.
This option’s argument, fork-handling-list, is a Tcl list of regexp and action pairs. The regexp contains the name of the parent process, and action defines how future fork system calls will be handled for this process.
regexp: A regular expression. The regular expression is not anchored, so use "^" and "$" to match the beginning or end of the process name.
action: The action to take, as follows:
Action | Description |
---|
attach | Attach to the new child processes. |
detach | Detach from the new child processes. |
When first launching or attaching to a process, TotalView iterates over fork-handling-list to match the process name against each regexp in the list. When it finds a match, it uses the corresponding action to determine how future fork system calls will be handled
If a matching process name is not found in
fork-handling-list, TotalView handles
fork() based on whether the process was linked with the
dbfork library and the setting of the
TV::dbforkCLI state variable preference.
For more information, see “Controlling fork, vfork, and execve Handling” in the TotalView User Guide.
-foreground color
Sets the general foreground color (that is, the text color) to color.
-fg color
Same as -foreground.
Default: black
-gdb_index
(Default). Allows TotalView to use the .gdb_index section in executable and shared library image files.
-no_gdb_index
Forces TotalView to skim the DWARF instead.
-global_types
(Default) Sets TotalView to assume that type names are globally unique within a program and that all type definitions with the same name are identical. The C++ standard asserts that this must be true for standard-conforming code.
If this option is set, TotalView attempts to replace an opaque type (struct foo *p;) declared in one module, with an identically named defined type in a different module.
If TotalView has read the symbols for the module containing the non-opaque type definition, then when displaying variables declared with the opaque type, TotalView will automatically display the variable by using the non-opaque type definition.
-no_global_types
Specifies that TotalView cannot assume that type names are globally unique in a program. You should specify this option if your code has multiple different definitions of the same named type, since otherwise TotalView can use the wrong definition for an opaque type.
-gnu_debuglink
For a program or library with either (or both) a build ID or
.gnu_debug_link section, TotalView looks for a separate debug file. If found, TotalView reads this file’s debugging information. The related state variable is
TV::gnu_debuglink.
-no_gnu_debuglink
Do not load information from a separate debug file even if the file has a build ID or .gnu_debug_link section.
-gnu_debuglink_build_id_search_path
-gnu_debuglink_check_build_id
For a program or library with either (or both) a build ID or .gnu_debug_link section, compare build IDs if the base image file contains a build ID.
-no_gnu_debuglink_check_build_id
Do not check build IDs. Whether a separate debug info file is validated or not also depends on the setting for
-gnu_debuglink_checksum.
-gnu_debuglink_checksum
Validates the debug file’s checksum against the checksum contained in the image’s .gnu_debuglink section.
-no_gnu_debuglink_checksum
Do not compare checksums. Whether a separate debug info file is validated or not also depends on the setting for
-gnu_debuglink_check_build_id. Set this only if you are absolutely certain that the debug file matches.
-gnu_debuglink_global_directory
-gnu_debuglink_search_path
-ipv6_support
Directs TotalView to support IPv6 addresses.
-no_ipv6_support
(Default) Do not support IPv6 addresses.
-jit_debugging
-no_jit_debugging
Disables Clang / LLVM JIT debugging.
-kcc_classes
(Default) Converts structure definitions output by the KCC compiler into classes that show base classes and virtual base classes in the same way as other C++ compilers. See the description of the
TV::kcc_classes variable for a description of the conversions that TotalView performs.
-no_kcc_classes
Does not convert structure definitions output by the KCC compiler into classes. Virtual bases will show up as pointers, rather than as data.
-lb
(Default) Loads action points automatically from the filename.TVD.v4breakpoints file, providing the file exists.
-nlb
Does not automatically load action points from an action points file.
-load_session session_name
Loads into TotalView the session named in session_name. Session names with spaces must be enclosed in quotes, for example, "my debug session". Sessions that attach to an existing process cannot be loaded using this option; rather, use the -pid option instead.
-local_interface string
Sets the interface name that the server uses when it makes a callback. For example, on an IBM PS2 machine, you would set this to css0. However, you can use any legal inet interface name. (You can obtain a list of the interfaces if you use the netstat -i command.)
-mrnet_super_bushy
Sets the state variable
TV::mrnet_super_bushy to
true. When set, TotalView creates a "super bushy" MRNet tree. For detail, see the state variable
TV::mrnet_super_bushy.
-no_mrnet_super_bushy
Sets the state variable to false.
-nodes
Specifies the number of nodes upon which the MPI job will run.
-no_startup_scripts
Sets TotalView to not reference any initialization files during startup. Note that this negates all settings in all initialization files. Aliases are -nostartupscripts and -nss.
-nohand_cursor
By default, the cursor in the source pane of the process window turns into a hand cursor when hovering over an element you can dive on (a red box is also drawn around the applicable code). Specify this option to override this behavior and retain the usual arrow cursor.
-np
Specifies how many tasks that TotalView should launch for the job. This argument usually follows a -mpi command-line option.
-nptl_threads
Sets your application to use NPTL threads. You need use this option only if TotalView cannot determine that you are using this threads package.
-no_nptl_threads
Does not use the NPTL threads package. Use this option if TotalView thinks your application is using it and it isn’t.
-openmp_debug
-patch_area_base address
Allocates the patch space dynamically at address. See “Allocating Patch Space for Compiled Expressions” in the Classic TotalView User Guide.
-patch_area_length length
Sets the length of the dynamically allocated patch space to this length. See “Allocating Patch Space for Compiled Expressions” in the Classic TotalView User Guide.
-pid pid filename
Attaches to process pid for executable filename when TotalView starts executing.
-procs
Specifies how many tasks that TotalView should launch for the job. This argument usually follows a -mpi command-line option.
-replay
Enables the ReplayEngine when TotalView begins. This command-line option is ignored if you do not have a license for ReplayEngine. You may also use the alias -reverse_debugging.
-reverse_connect
Enables listening for reverse connections when TotalView launches. This is the default.
-no_reverse_connect
Disables listening for reverse connections when TotalView launches.
-rocm
(Default) Enables AMD ROCm debugging with TotalView.
-no_rocm
Disables AMD ROCm debugging. Any AMD kernels launched on a GPU device are not seen by the debugger, so the debugger can only debug the host code. -norocm is the identical option.
-s pathname
Specifies the path name of a startup file that will be loaded and executed. This path name can be either an absolute or relative name.
You can add more than one-s option on a command line.
-serial device[:options]
Debugs an executable that is not running on the same machine as TotalView. For device, specify the device name of a serial line, such as /dev/com1. Currently, the only option you are allowed to specify is the baud rate, which defaults to 38400.
For more information on debugging over a serial line, see “Debugging Over a Serial Line” in the Classic TotalView User Guide.
-search_path pathlist
Specifies a colon-separated list of directories in which TotalView will search when it looks for source files. For example:
totalview -search_path proj/bin:proj/util
-signal_handling_mode "action_list"
Modifies the way in which TotalView handles signals. You must enclose the action_list string in quotation marks to protect it from the shell.
An action_list consists of a list of signal_action descriptions separated by spaces:
signal_action[signal_action] ...
A signal action description consists of an action, an equal sign (=), and a list of signals:
action=signal_list
A signal_specifier can be a signal name (such as SIGSEGV), a signal number (such as 11), or a star (*), which specifies all signals. We recommend that you use the signal name rather than the number because number assignments vary across UNIX sessions.
The following rules apply when you are specifying an action_list:
(1) Specifying an action for a signal in an action_list changes the default action for that signal.
(2) Not specifying a signal in the action_list does not change its default action for the signal.
(3) Specifying a signal that does not exist for the platform results in TotalView ignoring it.
(4) Specifying an action for a signal more than once results in TotalView using the last action specified.
For example, here’s how to set the default action for the SIGTERM signal to resend:
"Resend=SIGTERM"
Here’s how to set the action for SIGSEGV and SIGBUS to error, the action for SIGHUP to resend, and all remaining signals to stop:
"Stop=* Error=SIGSEGV,SIGBUS Resend=SIGHUP"
-shm "action_list"
Same as -signal_handling_mode.
-starter_args "arguments"
Passes arguments to the starter program. You can omit the quotation marks if arguments is just one string without any embedded spaces.
-stack_trace_expand_inlined_subroutines option
Controls the behavior of reading delayed symbols while building a stack backtrace in order to find inlined subroutines. Possible options are auto, true, or false. The default is auto, meaning that TotalView attempts to automatically detect whether the subroutine associated with a stack frame might contain inlined subroutines; if so, it reads the delayed symbols for the file containing the subroutine.
-stderr pathname
Names the file to which TotalView writes the target program’s stderr information while executing within TotalView. If the file exists, TotalView overwrites it. If the file does not exist, TotalView creates it.
-stderr_append
Appends the target program’s stderr information to the file named in the -stderr command, specified in the GUI, or in the TotalView TV::default_stderr_filename variable. If the file does not exist, TotalView creates it.
-stderr_is_stdout
Redirects the target program’s stderr to stdout.
-stdin pathname
Names the file from which the target program reads information while executing within TotalView.
-stdout pathname
Names the file to which TotalView writes the target program’s stdout information while executing within TotalView. If the file exists, TotalView overwrites it. If the file does not exist, TotalView creates it.
-stdout_append
Appends the target program’s stdout information to the file named in the -stdout command, specified in the GUI, or in the TotalView TV::default_stdout_filename variable. If the file does not exist, TotalView creates it.
-team
Uses only a Team license.
-no_team
Does not use an Enterprise license. You may combine this with -no_ent or -noteamplus.
-teamplus
Uses only a Team Plus license.
-no_teamplus
Does not use a Team PLus license. You may combine this with -no_ent or -noteam.
-theme option
Controls the UI theme. Options are dark or light.
Default: light
-tvhome pathname
The directory from which TotalView reads preferences and other related information and the directory to which it writes this information.
-use_fast_trap
Controls TotalView’s use of the target operating system’s support of the fast trap mechanism for compiled conditional breakpoints, also known as EVAL points. You must set this option on the command line; you cannot set it interactively using the CLI.
Your operating system may not be configured correctly to support this option. See the
TotalView Release Notes on the
TotalView documentation page for more information.
-use_fast_wp
Controls TotalView’s use of the target operating system’s support of the fast trap mechanism for compiled conditional watchpoints, also known as CDWP points. You must set this option on the command line; you cannot set it interactively using the CLI.
Your operating system may not be configured correctly to support this option. See the
TotalView Release Notes on the
TotalView documentation page for more information.
-user_threads
(Default) Enables handling of user-level (M:N) thread packages on systems where two-level (kernel and user) thread scheduling is supported.
-no_user_threads
Disables handling of user-level (M:N) thread packages. This option may be useful in situations where you need to debug kernel-level threads, but in most cases, this option is of little use on systems where two-level thread scheduling is used.
-verbosity level
Sets the verbosity level of TotalView messages to level, which may be one of silent, error, warning, or info.
Default: info
-working_directory pathname
Sets the working directory for executing a target program, overwriting the default.
Default: The directory from which TotalView was invoked
-xterm_name pathname
Sets the name of the program used when TotalView needs to create a the CLI. If you do not use this command or have not set the TV::xterm_name variable, TotalView attempts to create an xterm window.