- Blocks that are only reachable via at least one interior-pointer, but
are directly pointed to by a start-pointer, were previously marked as
"still reachable". They are now correctly marked as "possibly lost".
+ - The default value for the --leak-resolution option has been changed from
+ "low" to "high". In general, this means that more leak reports will be
+ produced, but each leak report will describe fewer leaked blocks.
+ - The documentation for the leak checker has also been improved.
* The format of some (non-XML) stack trace entries has changed a little.
Previously there were six possible forms:
<varlistentry id="opt.leak-resolution" xreflabel="--leak-resolution">
<term>
- <option><![CDATA[--leak-resolution=<low|med|high> [default: low] ]]></option>
+ <option><![CDATA[--leak-resolution=<low|med|high> [default: high] ]]></option>
</term>
<listitem>
<para>When doing leak checking, determines how willing
be the same. When set to <varname>low</varname>, only the first
two entries need match. When <varname>med</varname>, four entries
have to match. When <varname>high</varname>, all entries need to
- match.</para>
+ match; this is consistent with how merging occurs for other kinds of
+ errors.</para>
<para>For hardcore leak debugging, you probably want to use
<option>--leak-resolution=high</option> together with
- <option>--num-callers=40</option> or some such large number. Note
- however that this can give an overwhelming amount of information,
- which is why the defaults give less information.
+ <option>--num-callers=40</option> or some such large number.
</para>
<para>Note that the <option>--leak-resolution=</option> setting
Bool MC_(clo_partial_loads_ok) = False;
Long MC_(clo_freelist_vol) = 10*1000*1000LL;
LeakCheckMode MC_(clo_leak_check) = LC_Summary;
-VgRes MC_(clo_leak_resolution) = Vg_LowRes;
+VgRes MC_(clo_leak_resolution) = Vg_HighRes;
Bool MC_(clo_show_reachable) = False;
Bool MC_(clo_workaround_gcc296_bugs) = False;
Int MC_(clo_malloc_fill) = -1;
{
VG_(printf)(
" --leak-check=no|summary|full search for memory leaks at exit? [summary]\n"
-" --leak-resolution=low|med|high how much bt merging in leak check [low]\n"
+" --leak-resolution=low|med|high differentiation of leak stack traces [high]\n"
" --show-reachable=no|yes show reachable blocks in leak check? [no]\n"
" --undef-value-errors=no|yes check for undefined value errors [yes]\n"
" --track-origins=no|yes show origins of undefined values? [no]\n"