DRD: a thread error detector
• The macro
ANNOTATE_BARRIER_INIT(barrier, count, reinitialization_allowed)
tells
DRD that a new barrier object at the address
barrier
has been initialized, that
count
threads participate in
each barrier and also whether or not barrier reinitialization without intervening destruction should be reported as an
error. See also
drd/tests/annotate_barrier.c
for an example.
• The macro
ANNOTATE_BARRIER_DESTROY(barrier)
tells DRD that a barrier object is about to be destroyed.
• The macro
ANNOTATE_BARRIER_WAIT_BEFORE(barrier)
tells DRD that waiting for a barrier will start.
• The macro
ANNOTATE_BARRIER_WAIT_AFTER(barrier)
tells DRD that waiting for a barrier has finished.
• The macro
ANNOTATE_BENIGN_RACE_SIZED(addr, size, descr)
tells DRD that any races detected
on the specified address are benign and hence should not be reported. The
descr
argument is ignored but can be
used to document why data races on
addr
are benign.
• The macro
ANNOTATE_BENIGN_RACE_STATIC(var, descr)
tells DRD that any races detected on the
specified static variable are benign and hence should not be reported. The
descr
argument is ignored but can
be used to document why data races on
var
are benign. Note: this macro can only be used in C++ programs and
not in C programs.
• The macro
ANNOTATE_IGNORE_READS_BEGIN
tells DRD to ignore all memory loads performed by the current
thread.
• The macro
ANNOTATE_IGNORE_READS_END
tells DRD to stop ignoring the memory loads performed by the
current thread.
• The macro
ANNOTATE_IGNORE_WRITES_BEGIN
tells DRD to ignore all memory stores performed by the
current thread.
• The macro
ANNOTATE_IGNORE_WRITES_END
tells DRD to stop ignoring the memory stores performed by the
current thread.
• The macro
ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN
tells DRD to ignore all memory accesses
performed by the current thread.
• The macro
ANNOTATE_IGNORE_READS_AND_WRITES_END
tells DRD to stop ignoring the memory accesses
performed by the current thread.
• The macro
ANNOTATE_NEW_MEMORY(addr, size)
tells DRD that the specified memory range has been
allocated by a custom memory allocator in the client program and that the client program will start using this
memory range.
• The macro
ANNOTATE_THREAD_NAME(name)
tells DRD to associate the specified name with the current thread
and to include this name in the error messages printed by DRD.
• The macros
VALGRIND_MALLOCLIKE_BLOCK
and
VALGRIND_FREELIKE_BLOCK
from the Valgrind core
are implemented; they are described in
The Client Request mechanism
.
130
Содержание BBV
Страница 176: ...Valgrind FAQ Release 3 8 0 10 August 2012 Copyright 2000 2012 Valgrind Developers Email valgrind valgrind org ...
Страница 177: ...Valgrind FAQ Table of Contents Valgrind Frequently Asked Questions 1 ii ...
Страница 302: ...README mips based on newer GCC versions if possible 95 ...
Страница 303: ...GNU Licenses ...
Страница 304: ...GNU Licenses Table of Contents 1 The GNU General Public License 1 2 The GNU Free Documentation License 8 ii ...