HP aC++/HP C Programmer's Guide (B3901-90036; A.06.26; September 2011)
• The thread waits on a condition variable for which the associated mutex is not
locked.
• The thread terminates execution, and the resources associated with the terminated
thread continue to exist in the application because the thread has not been joined
or detached.
• The thread uses more than the specified percentage of the stack allocated to the
thread.
The +check=thread option should only be used with multithreaded programs. It is not
enabled by +check=all.
Users can change the behavior of the +check=thread option by providing their own
rtcconfig file. The user specified rtcconfig file can be in the current directory or
in a directory specified by the GDBRTC_CONFIG environment variable. The default
configuration used by the +check=thread option is:
thread-check=1;recursive-relock=1;unlock-not-own=1;
mix-sched-policy=1;cv-multiple-mxs=1;cv-wait-no-mx=1;
thread-exit-own-mutex=1;thread-exit-no-join-detach=1;stack-util=80;
num-waiters=0;frame_count=4;output_dir=.;
If any thread error condition is detected during the application run, the error log is output
to a file in the current working directory. The output file will have the following naming
convention:
<executable_name>.<pid>.threads
where <pid> is the process id.
+check=truncate[:explicit|:implicit]
The +check=truncate[:explicit|:implicit] option enables runtime checks to
detect data loss in assignment when integral values are truncated. Data loss occurs if
the truncated bits are not all the same as the left most non-truncated bit for signed type,
or not all zero for unsigned type.
Programs might contain intentional truncation at runtime, such as when obtaining a hash
value from a pointer or integer. To avoid runtime failures on these truncations, you can
explicitly mask off the value:
ch = (int_val & 0xff);
Note that the +check=all option does not imply +check=truncate. To enable
+check=truncate, you must explicitly specify it.
+check=truncate:explicit
This option turns on runtime checks for truncation on explicit user casts of integral values,
such as (char)int_val.
+check=truncate:implicit
Runtime Checking Options 99