Add record_allocs_on_exit option.
Add a config parameter "record_allocs_on_exit" that will cause the
currently recorded set of allocs to be dumped to a file when
the process exits.
Update the documentation, and add new unit tests.
Test: Unit tests pass.
Change-Id: I81d31bc63b8a6709697533c5099dcc6444c11d47
diff --git a/libc/malloc_debug/Config.cpp b/libc/malloc_debug/Config.cpp
index 89a7ce7..0d442b4 100644
--- a/libc/malloc_debug/Config.cpp
+++ b/libc/malloc_debug/Config.cpp
@@ -187,6 +187,10 @@
"record_allocs_file",
{0, &Config::SetRecordAllocsFile},
},
+ {
+ "record_allocs_on_exit",
+ {0, &Config::SetRecordAllocsOnExit},
+ },
{
"verify_pointers",
@@ -401,6 +405,14 @@
return true;
}
+bool Config::SetRecordAllocsOnExit(const std::string& option, const std::string& value) {
+ if (Config::VerifyValueEmpty(option, value)) {
+ record_allocs_on_exit_ = true;
+ return true;
+ }
+ return false;
+}
+
bool Config::VerifyValueEmpty(const std::string& option, const std::string& value) {
if (!value.empty()) {
// This is not valid.