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.
-aix_use_fast_ccw
Defined only on AIX, a synonym for the platform-independent -use_fast_wp, for TotalView script backward compatibility. See -use_fast_wpfor more information.You must set this option on the command line; you cannot set it interactively using the CLI.
-aix_use_fast_trap
Defined only on AIX, a synonym for the platform-independent -use_fast_trap, for TotalView script backward compatibility. See -use_fast_trapfor more information. You must set this option on the command line; you cannot set it interactively using the CLI.
-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.
-compiler_vars
(HP and SGI only.) Shows variables created by the Fortran compiler, as well as those in the user’s program.
Some Fortran compilers (HP f90/f77, HP f90, SGI 7.2 compilers) output debugging information that describes variables the compiler itself has invented for purposes such as passing the length of character*(*) variables. By default, TotalView suppresses the display of these compiler-generated variables.
However, you can specify the -compiler_vars option to display these variables. This is useful when you are looking for a corruption of a run-time descriptor or are writing a -compiler.
-no_compiler_vars
(Default) Sets TotalView to not show variables created by the Fortran compiler.
-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.
-default_parallel_attach_subset subset_specification
Specifies a set of MPI ranks to be attached to when an MPI job is created or attached to. The subset_specification is a space-separated list, the elements of which can be in one of these forms:
rank: that rank only
rank1-ranks2: all ranks between rank1 and rank2 inclusive
rank1-rank2:stride: every strideth rank between rank1 and rank2
A rank must be either a positive decimal integer or max (the last rank in the MPI job).
A subset_specification that is the empty string ("") is equivalent to 0-max.
The default_parallel_attach_subset is used to initialize the -parallel_attach_subset property of an MPI starter process, which can be get or set in the CLI using:
TV::process getdpidparallel_attach_subset
TV::process setdpidparallel_attach_subset -subset_specification
The CLI
dattachand
dload -parallel_attach_subset-subset_specification overrides the
default_parallel_attach_subset and sets the
parallel_attach_subset property of the process being attached or loaded.
-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.
‑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.
-foreground color
Sets the general foreground color (that is, the text color) to color.
-fg color
Same as -foreground.
Default: black
-f9x_demangler=compiler
Overrides the Fortran demangler and mangler TotalView uses by default. The following indicate override options.
-demangler=spro_f9x_4:SunPro Fortran, 4.0 or later
-demangler=xlf:IBM Fortran
-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. If the preference “Show Startup Parameters when TotalView starts” is set, this option launches the Session Manager’s Program Session screen where you can edit the session’s properties and then launch the session; otherwise, the option immediately loads the session into TotalView, launching the Root and Process windows.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.)
-memory_debugging
Enables memory debugging. By adding the following suboptions, you enable that particular feature using its the feature’s default configuration. In most cases, you will want to use one or more of the following sub-options.
-mem_detect_use_after_free
Tests for memory use after memory is freed.
-mem_guard_blocks
Surrounds allocated memory blocks with guard blocks.
-mem_hoard_freed_memory
Sets the Memory Debugger to hoard memory blocks instead of releasing them when a free()routine is called.
-mem_hoard_low_memory_threshold nnnn
Sets the low memory threshold amount. When memory falls below this amount an event will be fired.
-mem_notify_events
Turns on memory event notification.
-no_mem_notify_events turns event notification off.
-mem_paint_all
Paint both allocated and deallocated blocks with a bit pattern.
-mem_paint_on_alloc
Paint memory blocks with a bit pattern when they are allocated.
-mem_paint_on_dealloc
Paint memory blocks with a bit pattern when they are freed.
-mem_red_zones_overruns
Turn on testing for Red Zones overruns.
-mem_red_zones_size_ranges min:max,min:max,...
Defines the memory allocations ranges for which Red Zones are in effect. Ranges can be specified as follows: x:y allocations from x to y.
:y allocations from 1 to y
x: allocations of x and higher
x allocation of x
-mem_red_zones_underruns
Turn on testing for Red Zones underruns.
-message_queue
(Default) Enables the display of MPI message queues when debugging an MPI program.
-mqd
Same as -message_queue.
-mqd
Same as -message_queue.
-no_message_queue
Disables the display of MPI message queues when you are debugging an MPI program. This might be useful if something is overwriting the message queues and causing TotalView to become confused.
-no_mqd
Same as -no_message_queue.
-mpi starter
Names the MPI that your program requires. The list of starter names that you enter are those that appear in the Parallel system pull down list contained within the New Program’s Parallel tab. If the starter name has more than one word (for example, Open MPI), enclose the name in quotes. For example:
-mpi "Open MPI"
-mpibind_regexp regexp
A Tcl regular expression matching the name of the mpibind program (or any program) that the MPI starter process launches, instead of directly launching the MPI application.
-mrnet_proxy_server { auto|true|false }
Controls the use of an MRNet proxy server. The default is auto, which uses an MRNet proxy server only if necessary.
-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.
-newUI
Launches the modernTotalView UI rather than the TotalView UI
-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.
-oldroot
Displays the Root Window used in versions prior to TotalView 8.15.0. Using ‑-oldroot or -‑newroot overrides the TV::GUI::old_root_window value.
-newroot
(Default) Displays the new Root Window. This is useful when TV::GUI::-old_root_window is set to true in the .tvdrc file and you wish to use the new Root Window.
-openmp_debug
-parallel
(Default) Enables handling of parallel program run-time libraries such as MPI, PE, and UPC.
-no_parallel
Disables handling of parallel program run-time libraries such as MPI, PE, and UPC. This is useful for debugging parallel programs as if they were single-process programs.
-parallel_attach option
Sets the action that TotalView takes when starting a parallel program. Possible options are:
yes (default) Attaches to all processes in a parallel program, unless the process being launched or attached to has a non-empty parallel_attach_subset property. In this case, only the subset of processes specified in the parallel_attach_subset are attached.
no: Attaches to no processes in a parallel program.
ask Asks which processes to attach to by posting the subset attach dialog box if the debugger GUI is open.
This option works in concert with the
parallel_attach_subset property (see
-default_parallel_attach_subset) of an MPI starter process, which specifies a set of MPI tasks to attach to when the debugger launches or attaches to an MPI job.
Modifying this setting does not affect the parallel_attach_subset property itself.
-patch_area_base address
-patch_area_length length
-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.
-processgrid
Displays the Processes/Ranks Tab in the Process Window. Note that enabling this tab can significantly affect performance, particularly for large, massively parallel applications.
-noprocessgrid (default)
Does not display the Processes/Ranks Tab in the Process Window. This command qualifier is helpful when you wish to disable the Processes/Ranks Tab for a debug session and you have TV::GUI::process_grid_wanted set to true in your .tvdrc file.
-remote hostname[:portnumber]
Debugs an executable that is not running on the same machine as TotalView. For
hostname, you can specify a TCP/IP host name (such as
vinnie) or a TCP/IP address (such as
128.89.0.16). Optionally, you can specify a TCP/IP port number for
portnumber, such as
:4174. When you specify a port number, you disable the autolaunch feature. For more information on the autolaunch feature, see “
Setting Single Process Server Launch” in the
Classic TotalView User Guide.
-rhostname[:portnumber]
Same as -remote.
-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.
-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
An
action can be one of the following:
Error,
Stop,
Resend, or
Discard, For more information on the meaning of each action, see
Accessing TotalView Remotely in the
Classic TotalView User Guide.
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.
If you need to revert the settings for signal handling to built-in defaults, use the Defaults button in the File > Signals dialog box.
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.
-tasks
Specifies how many tasks TotalView should launch for the job. This argument usually follows a -mpi command-line option.
-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.
-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
Classic 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
Classic 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.