...
Table of Content Zone | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||
insure++.checking_uninit [on|off] If set to
|
Setting | Result |
---|---|
off | func_FCi |
on | func |
types | func(int) |
full_types | func(const int |
insure++.demangle_method [external <filtname>|CC|gcc]
Specifies compiler-specific algorithm for demangling function names. Currently supported compiler algorithms are C-Front based C++ compilers (for example, CC). If you are using a different compiler, Insure++ understands most other demangling formats as well. The filter <filtname>
option allows the use of the external demangler filtname. The default is compiler-dependent. See the compiler level .psrc file, which is in the directory lib.$ARCH/$COMPILER. This option is a compiled-in option, so you will need to prepend an exclamation mark (!
) to the option in the .psrc file to change the setting at runtime.
insure++.error_format string
Specifies the format for error message banners generated by Insure++. The string argument is displayed as it is entered with the macro substitutions as shown in the description of the compiler_deficient option. The string may also contain standard C formatting characters, such as \n
. For examples, see Customizing the Output Format.
The error_format option only takes effect if the Insure++ errors are being reported to the console or a file. If the errors are being sent to Insra, the error format in Insra will stay the same. For details on how to change where errors are sent, see Report File.
insure++.exit_hook [on|off]
Insure++ uses the appropriate atexit
, onexit
, or on_exit
function call to perform special handling at exit, but this option enables you to disable special handling at exit. Default is on
.
Anchor | ||||
---|---|---|---|---|
|
insure++.exit_on_error [0|1|2|3|...]
Causes the user program to quit (with non-zero exit status) after reporting the given number of errors. The default is 0
, which means that all errors will be reported and the program will terminate normally.
insure++.exit_on_error_banner [on|off]
When Insure++ causes your program to quit because you enabled the exit_on_error option, it will print a brief message, for example:
** User selected maximum error count reached: 10. Program exiting.**
You can disable messages by setting this option to off
. Default is on
insure++.free_delay [0|1|2|3|...|119|...]
This option controls how long the Insure++ runtime holds onto free
’d blocks before allowing them to be reused. This is not necessary for error detection, but can be useful in modifying the behavior of your program for stress-testing. The number represents how many freed blocks are held back at a time. Large numbers limit memory reuse, whereas setting the value to 0
maximizes memory reuse.
insure++.free_pattern pattern
Specifies a pattern that will be written on top of memory whenever it is freed. This pattern will be repeated for each byte in the freed region. The default is 0
, which means no pattern will be written. This may cause your program to crash if your system libraries assume freed memory is still valid.
insure++.GusCacheDir
Specifies the directory where Insure++ will store its cache files containing symbolic debugging information. By default, this is set to the "GUS-cache" subdirectory of the Insure++ installation directory. You may wish to set this option if Insure++ is installed on a read-only file-system, or a on file-system with limited disk space. You may safely delete the contents of the GUS cache directory when you are not actively using Insure++. Its contents will be automatically regenerated the next time you use Insure++.
insure++.ignore_wild [on|off]
Specifies whether Insure++ will do checking for wild pointers. Turning this option on turns off wild pointer checking. Default is off
.
insure++.interface_ignore function_name
This option disables linkable interfaces. This option uses wildcards in the same manner as the function_ignore option.
insure++.leak_combine [none|trace|location]
Specifies how to combine leaks for the memory leak summary report. Combining by trace
means that all blocks allocated with identical stack traces will be combined into a single entry. Combining by location
means that all allocations from the same file and line (independent of the rest of the stack trace) will be combined. Setting to none
means each allocation will be listed separately.
insure++.leak_search [on|off]
Specifies additional leak checking at runtime before a leak is reported. Requires that the symbol table reader be turned on.
insure++.leak_sort [none|frequency|location|size]
Specifies by what criterion the memory leak summary report is sorted. Setting this to none
may provide better performance at exit if you have many leaks. Default is size
.
insure++.leak_summary_filter
Controls which blocks are reported in the “leaks detected at exit” and “outstanding” sections of the leak summary. The following setting, for example, restricts the leak summary to those blocks with stack traces ending in main
:
leak_summary_filter *main
The following setting filters out the following leak summary entries:
leak_summary_filter -! * Tcl_Alloc* *
The following leak summary entries are filtered-out:
Code Block | ||
---|---|---|
| ||
3607 bytes 3 chunks allocated malloc() Tcl_Alloc() Tcl_NewStringObj() Tcl_EvalTokens() Tcl_EvalEx() Tcl_EvalFile() TclExecuteByteCode() Tcl_EvalObjEx() Tcl_UplevelObjCmd() |
insure++.leak_sweep [on|off]
Specifies additional leak checking at the termination of the program. Requires that the symbol table reader be turned on. Default is on.
insure++.leak_trace [on|off]
This option determines whether or not full stack traces will be shown in the memory leak summary report. Default is on
.
insure++.logfile [filename|stderr|stdout|InsureLog.txt]
Specifies the filename to use when creating the Insure++ Log file. See Troubleshooting for more information. Default is InsureLog.txt
.
insure++.new_overhead [0|2|4|6|8|...]
Specifies the number of bytes allocated as overhead each time new[]
is called. The default is compiler- dependent, but is typically 0
, 4
, or 8
.
insure++.pointer_slack [0|1|2]
This controls the heuristic in Insure++ that determines which block a pointer points to when it does not point to a valid block. The default should be changed only if Insure++ is not working correctly on your program. Default is 1
. The following table describes the acceptable values:
Value | Description |
---|---|
0 | Never assume the pointer points to the previous block. |
1 | Assume the pointer points to the previous block if that block was dynamically allocated. |
2 | Always assume the pointer points to the previous block. This tends to be incorrect for stack and global variables because they are usually adjacent in memory. |
insure++.report_banner [on|off]
Controls whether or not a message is displayed on your terminal, reminding you that error messages have been redirected to a file. Default is on.
For more information, see Filenames.
insure++.report_file [filename|Insra|stderr]
Specifies the name of the report file. The file name may contain environment variables and various pattern generation keys if set to filename
. For more information, see Filenames. Use of the special value Insra
tells Insure++ to send its output to Insra. Default is stderr
.
insure++.report_limit [-1|0|1|2|3|...]
Displays only the first given number of errors of each type at any particular source line. Setting this option to -1
will show all errors. Setting it to 0
will only show errors in summary reports, and not at runtime. Default is 1
. See Displaying Repeated Errors for more information.
insure++>report_overwrite [on|off]
If set to off
, error messages are appended to the report file rather than overwriting it on each run.
insure++.runtime [on|off]
If set to off
, no runtime checking or profiling is performed. The program will run much faster this way. This option can be used to check if a particular fix has cured a problem without recompiling the application without Insure++.
insure++.source_path dir1 dir2 dir3
Takes a list of directories in which to search for source files See Searching for Source Code for more information. This will only be necessary if your source code has moved since it was compiled, as Insure++ remembers where all your source files are located.
insure++.summarize [bugs] [coverage] [leaks] [outstanding]
Generates a summary report of errors. For more information, see the following sections:
For coverage summaries, the coverage_switches option is consulted to decide how to present coverage data. See Code Coverage for more information.
The Leaks and Outstanding reports are affected by the leak_combine
, leak_sort
, and leak_trace
options. With no arguments, this option will summarize the bugs and leaks summaries.
insure++.summarize_on_error [0|1|2|3|...]
Specifies how many errors must be generated before a summary (if requested) is printed. The default is 0
, which means that summaries are always printed on demand. If the number is 1
or higher, summaries are only printed if at least the given number of bugs (or leaks) occurs. Suppressed errors do not count towards this number. If no argument is given with this option, a value of 1
is assumed.
insure++.suppress code [{context}]
Suppress error messages matching the given error code and occurring in the (optionally) specified context. See Suppressing Error Messages for more information.
insure++.symbol_banner [on|off]
If set to on
, Insure++ displays a message indicating that the program’s symbol table is being processed whenever an application starts. Default is off
.
Anchor | ||||
---|---|---|---|---|
|
insure++.symbol_table [on|off]
If set to on
, Insure++ will read the executable symbol table at startup. This enables Insure++ to generate full stack traces for third-party libraries, as well as for code compiled with Insure++. If this option is turned off
, the stack traces will show only functions compiled with Insure++, but the application will use less dynamic memory and be faster on startup. To get filenames and line numbers in stack traces with this option set to off
, you must compile your program with the stack_internal on
option.
insure++.trace [on|off]
Turns program tracing on and off. In order to get file names and line numbers in the trace output, you must have the stack_internal on
option set when compiling the program. Tracing Program Execution for more information about program tracing.
insure++.trace_banner [on|off]
Specifies whether to print message at runtime showing file to which the trace output will be written. Default is on
.
insure++.trace_file [filename|stderr]
Specifies the name of the file to which the trace output will be written. The filename
value may use the same special tokens shown on Filenames. Default is stderr
.
insure++.unsuppress code [{context}]
Enables error messages matching the given error codes and occurring in the (optionally) specified context. See Suppressing Error Messages for more information.
insure++.verbosity [0|1|2|3|4]
Tells Insure++ to create an Insure++ log in the current working directory, with verbosity level n
. Verbosity level ranges from 1
to 4
, with 4
being the most verbose. See Troubleshooting for more information.
...