출처 : http://stackoverflow.com/questions/9956359/valgrind-and-memory-leaks??
"definitely lost" means your program is leaking memory -- fix those leaks!
"indirectly lost" means your program is leaking memory in a pointer-based structure. (E.g. if the root node of a binary tree is "definitely lost", all the children will be "indirectly lost".) If you fix the "definitely lost" leaks, the "indirectly lost" leaks should go away.
"possibly lost" means your program is leaking memory, unless you're doing unusual things with pointers that could cause them to point into the middle of an allocated block; see the user manual for some possible causes. Use
--show-possibly-lost=no
if you don't want to see these reports."still reachable" means your program is probably ok -- it didn't free some memory it could have. This is quite common and often reasonable. Don't use
--show-reachable=yes
if you don't want to see these reports."suppressed" means that a leak error has been suppressed. There are some suppressions in the default suppression files. You can ignore suppressed errors.
Valgrind Frequently Asked Question 페이지에 좋은글들이 많음.
특히, C++ STL 에 대해서 왜 still reachable memory leak 메세지가 나는지..
Globay Array 에 대한 bound checking 은 valgrind 가 안한다는 얘기..
--num-callers 옵션으로 function call stack 을 좀더 길게 보여주는것. (default 12)
WRITTEN BY
- RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.