|
201.
|
|
|
Allow partial loads
|
|
|
i18n: ectx: property (text), widget (QCheckBox, partialLoadsOk)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:267
|
|
202.
|
|
|
<html><head/><body><p>Controls whether Memcheck tracks the origin of uninitialised values. By default, it does not, which means that although it can tell you that an uninitialised value is being used in a dangerous way, it cannot tell you where the uninitialised value came from. This often makes it difficult to track down the root problem.</p><p>When set to <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">yes</span>, Memcheck keeps track of the origins of all uninitialised values. Then, when an uninitialised value error is reported, Memcheck will try to show the origin of the value. An origin can be one of the following four places: a heap block, a stack allocation, a client request, or miscellaneous other sources (eg, a call to <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">brk</span>).</p><p>For uninitialised values originating from a heap block, Memcheck shows where the block was allocated. For uninitialised values originating from a stack allocation, Memcheck can tell you which function allocated the value, but no more than that -- typically it shows you the source location of the opening brace of the function. So you should carefully check that all of the function's local variables are initialised properly. </p><p>Performance overhead: origin tracking is expensive. It halves Memcheck's speed and increases memory use by a minimum of 100MB, and possibly more. Nevertheless it can drastically reduce the effort required to identify the root cause of uninitialised value errors, and so is often a programmer productivity win, despite running more slowly. </p><p>Accuracy: Memcheck tracks origins quite accurately. To avoid very large space and time overheads, some approximations are made. It is possible, although unlikely, that Memcheck will report an incorrect origin, or not be able to identify any origin. </p><p>Note that the combination <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--track-origins=yes</span> and <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--undef-value-errors=no</span> is nonsensical. Memcheck checks for and rejects this combination at startup.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QCheckBox, trackOrigins)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:274
|
|
203.
|
|
|
Track origins of all uninitialised values
|
|
|
i18n: ectx: property (text), widget (QCheckBox, trackOrigins)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:277
|
|
204.
|
|
|
<html><head/><body><p>Controls whether Memcheck should employ more precise but also more expensive (time consuming) algorithms when checking the definedness of a value. The default setting is not to do that and it is usually sufficient. However, for highly optimised code valgrind may sometimes incorrectly complain. Invoking valgrind with <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--expensive-definedness-checks=yes</span> helps but comes at a performance cost. Runtime degradation of 25% have been observed but the extra cost depends a lot on the application at hand.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QCheckBox, expensiveDefinednessChecks)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:284
|
|
205.
|
|
|
Expensive definedness checks
|
|
|
i18n: ectx: property (text), widget (QCheckBox, expensiveDefinednessChecks)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:287
|
|
206.
|
|
|
Memcheck
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/tool.cpp:38
|
|
207.
|
|
|
Memcheck (Memory Error Detector)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/tool.cpp:39
|
|
208.
|
|
|
Valgrind Output
|
|
|
|
(no translation yet)
|
|
|
|
Located in
toolviewfactory.cpp:47
|
|
209.
|
|
|
<b>Valgrind</b><p>Shows the output of valgrind. Valgrind detects:<br/>use of uninitialized memory;<br/>reading/writing memory after it has been free'd;<br/>reading/writing off the end of malloc'd blocks;<br/>reading/writing inappropriate areas on the stack;<br/>memory leaks — where pointers to malloc'd blocks are lost forever;<br/>passing of uninitialised and/or unaddressable memory to system calls;<br/>mismatched use of malloc/new/new [] vs free/delete/delete [];<br/>some abuses of the POSIX pthread API.</p>
|
|
|
|
(no translation yet)
|
|
|
|
Located in
toolviewfactory.cpp:49
|