|
191.
|
|
|
alloc-then-free
|
|
|
i18n: ectx: property (text), item, widget (QComboBox, keepStacktraces)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:141
|
|
192.
|
|
|
Freelist maximum size:
|
|
|
i18n: ectx: property (text), widget (QLabel, freelistVolLabel)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:154
|
|
193.
|
|
|
<html><head/><body><p>When the client program releases memory using <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">free</span> (in <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">C</span>) or <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete</span> (<span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">C++</span>), that memory is not immediately made available for re-allocation. Instead, it is marked inaccessible and placed in a queue of freed blocks. The purpose is to defer as long as possible the point at which freed-up memory comes back into circulation. This increases the chance that Memcheck will be able to detect invalid accesses to blocks for some significant period of time after they have been freed.</p><p>This option specifies the maximum total size, in bytes, of the blocks in the queue. The default value is twenty million bytes. Increasing this increases the total amount of memory used by Memcheck but may detect invalid uses of freed blocks which would otherwise go undetected.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QSpinBox, freelistVol)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:170
|
|
194.
|
|
|
Freelist big-blocks:
|
|
|
i18n: ectx: property (text), widget (QLabel, freelistBigBlocksLabel)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:183
|
|
195.
|
|
|
<html><head/><body><p>When making blocks from the queue of freed blocks available for re-allocation, Memcheck will in priority re-circulate the blocks with a size greater or equal to <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--freelist-big-blocks</span>. This ensures that freeing big blocks (in particular freeing blocks bigger than <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--freelist-vol</span>) does not immediately lead to a re-circulation of all (or a lot of) the small blocks in the free list. In other words, this option increases the likelihood to discover dangling pointers for the "small" blocks, even when big blocks are freed.</p><p>Setting a value of 0 means that all the blocks are re-circulated in a FIFO order.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QSpinBox, freelistBigBlocks)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:196
|
|
196.
|
|
|
<html><head/><body><p>Controls whether Memcheck reports uses of undefined value errors. Set this to <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">no</span> if you don't want to see undefined value errors. It also has the side effect of speeding up Memcheck somewhat.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QCheckBox, undefValueErrors)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:241
|
|
197.
|
|
|
Show undefined values usage
|
|
|
i18n: ectx: property (text), widget (QCheckBox, undefValueErrors)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:244
|
|
198.
|
|
|
<html><head/><body><p>When enabled, Memcheck checks that heap blocks are deallocated using a function that matches the allocating function. That is, it expects <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">free</span> to be used to deallocate blocks allocated by <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">malloc</span>, <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete</span> for blocks allocated by <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">new</span>, and <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete[]</span> for blocks allocated by <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">new[]</span>. If a mismatch is detected, an error is reported. This is in general important because in some environments, freeing with a non-matching function can cause crashes.</p><p>There is however a scenario where such mismatches cannot be avoided. That is when the user provides implementations of <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">new</span>/<span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">new[]</span> that call <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">malloc</span> and of <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete</span>/<span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete[]</span> that call <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">free</span>, and these functions are asymmetrically inlined. For example, imagine that <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete[]</span> is inlined but <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">new[]</span> is not. The result is that Memcheck "sees" all <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">delete[]</span> calls as direct calls to <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">free</span>, even when the program source contains no mismatched calls.</p><p>This causes a lot of confusing and irrelevant error reports. <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">--show-mismatched-frees=no</span> disables these checks. It is not generally advisable to disable them, though, because you may miss real errors as a result.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QCheckBox, showMismatchedFrees)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:254
|
|
199.
|
|
|
Show mismatched frees
|
|
|
i18n: ectx: property (text), widget (QCheckBox, showMismatchedFrees)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:257
|
|
200.
|
|
|
<html><head/><body><p>Controls how Memcheck handles 32-, 64-, 128- and 256-bit naturally aligned loads from addresses for which some bytes are addressable and others are not. When <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">yes</span>, such loads do not produce an address error. Instead, loaded bytes originating from illegal addresses are marked as uninitialised, and those corresponding to legal addresses are handled in the normal way.</p><p>When <span style=" font-family:'Monospace'; font-weight:600; font-style:italic;">no</span>, loads from partially invalid addresses are treated the same as loads from completely invalid addresses: an illegal-address error is issued, and the resulting bytes are marked as initialised.</p><p>Note that code that behaves in this way is in violation of the ISO C/C++ standards, and should be considered broken. If at all possible, such code should be fixed.</p></body></html>
|
|
|
i18n: ectx: property (toolTip), widget (QCheckBox, partialLoadsOk)
|
|
|
|
(no translation yet)
|
|
|
|
Located in
tools/memcheck/configpage.ui:264
|