-e "s/ (\([a-zA-Z_]*\.cpp\):[0-9]*)/ (\1:?)/" \
-e "s/\( name [^ ]*\)-[0-9]*\( oflag \)/\1\2/" \
-e '/^ by 0x[0-9a-fA-F]*: process_dl_debug (in \/lib[0-9]*\/ld-[0-9.]*\.so)$/d' \
--e "/^For detected errors list and suppressed errors count, rerun with: -s$/d" |
+-e "/^For lists of detected and suppressed errors, rerun with: -s$/d" |
# Remove the message that more than hundred errors have been detected
# (consists of two lines) and also the empty line above it.
-e "/^exp-sgcheck, a stack and global array overrun detector$/d" \
-e "/^NOTE: This is an Experimental-Class Valgrind Tool$/d" \
-e "/^Copyright (C) 2003-201., and GNU GPL'd, by OpenWorks Ltd et al.$/d" \
--e "/^For detected errors list and suppressed errors count, rerun with: -s$/d" |
+-e "/^For lists of detected and suppressed errors, rerun with: -s$/d" |
# Tidy up in cases where glibc (+ libdl + libpthread + ld) have
# been built with debugging information, hence source locs are present.
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Reset valgrind output to log (orderly_finish)
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
in use at exit: 131,080 bytes in 1 blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 11 errors from 1 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
in use at exit: ... bytes in ... blocks
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
# do not contain them (at least on gcc110/fedora18).
sed \
-e "/^Helgrind, a thread error detector/ , /./ d" \
- -e "/^For detected errors list and suppressed errors count, rerun with: -s$/d" \
+ -e "/^For lists of detected and suppressed errors, rerun with: -s$/d" \
-e "/^Use --history-level=approx or =none to gain increased speed, at$/d" \
-e "/^the cost of reduced accuracy of conflicting-access information$/d" \
-e "/pthread_create_WRK (hg_intercepts.c:/d" |
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Unaddressable byte(s) found during client check request
at 0x........: test2 (addressable.c:48)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Process terminating with default action of signal N (SIGSEGV or SIGBUS)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Uninitialised byte(s) found during client check request
at 0x........: test5 (addressable.c:85)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
HEAP SUMMARY:
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 130 errors from 100 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 99 errors from 99 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 66 errors from 66 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 66 errors from 66 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 51 errors from 51 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 51 errors from 51 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
Use --track-origins=yes to see where uninitialised values come from
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
still reachable: 0 bytes in 0 blocks
suppressed: 0 bytes in 0 blocks
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
still reachable: 0 bytes in 0 blocks
suppressed: 0 bytes in 0 blocks
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
All heap blocks were freed -- no leaks are possible
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
still reachable: 0 bytes in 0 blocks
suppressed: 0 bytes in 0 blocks
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
All heap blocks were freed -- no leaks are possible
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
All heap blocks were freed -- no leaks are possible
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
All heap blocks were freed -- no leaks are possible
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Reachable blocks (those to which a pointer was found) are not shown.
To see them, rerun with: --leak-check=full --show-leak-kinds=all
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
Use --track-origins=yes to see where uninitialised values come from
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
Use --track-origins=yes to see where uninitialised values come from
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
Use --track-origins=yes to see where uninitialised values come from
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
Use --track-origins=yes to see where uninitialised values come from
ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
For a detailed leak analysis, rerun with: --leak-check=full
-For counts of detected and suppressed errors, rerun with: -v
+For lists of detected and suppressed errors, rerun with: -s
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
--error-exitcode=<number> exit code to return if errors found [0=disable]
--error-markers=<begin>,<end> add lines with begin/end markers before/after
each error output in plain text mode [none]
+ --show-error-list=no|yes show detected errors list and
+ suppression counts at exit [no]
+ -s same as --show-error-list=yes
--keep-debuginfo=no|yes Keep symbols etc for unloaded code [no]
This allows saved stack traces (e.g. memory leaks)
to include file/line info for code that has been
--error-exitcode=<number> exit code to return if errors found [0=disable]
--error-markers=<begin>,<end> add lines with begin/end markers before/after
each error output in plain text mode [none]
+ --show-error-list=no|yes show detected errors list and
+ suppression counts at exit [no]
+ -s same as --show-error-list=yes
--keep-debuginfo=no|yes Keep symbols etc for unloaded code [no]
This allows saved stack traces (e.g. memory leaks)
to include file/line info for code that has been