Point to online documentation.
Test: Unit tests pass.
Change-Id: Ibbdc260bfdf6a6daf091c4a49cdf03e51f6ca6cf
diff --git a/libc/malloc_debug/Config.cpp b/libc/malloc_debug/Config.cpp
index 96fc27f..926b265 100644
--- a/libc/malloc_debug/Config.cpp
+++ b/libc/malloc_debug/Config.cpp
@@ -319,120 +319,8 @@
}
void Config::LogUsage() const {
- error_log("malloc debug options usage:");
- error_log("");
- error_log(" front_guard[=XX]");
- error_log(" Enables a front guard on all allocations. If XX is set");
- error_log(" it sets the number of bytes in the guard. The default is");
- error_log(" %zu bytes, the max bytes is %zu.", DEFAULT_GUARD_BYTES, MAX_GUARD_BYTES);
- error_log("");
- error_log(" rear_guard[=XX]");
- error_log(" Enables a rear guard on all allocations. If XX is set");
- error_log(" it sets the number of bytes in the guard. The default is");
- error_log(" %zu bytes, the max bytes is %zu.", DEFAULT_GUARD_BYTES, MAX_GUARD_BYTES);
- error_log("");
- error_log(" guard[=XX]");
- error_log(" Enables both a front guard and a rear guard on all allocations.");
- error_log(" If XX is set it sets the number of bytes in both guards.");
- error_log(" The default is %zu bytes, the max bytes is %zu.", DEFAULT_GUARD_BYTES,
- MAX_GUARD_BYTES);
- error_log("");
- error_log(" backtrace[=XX]");
- error_log(" Enable capturing the backtrace at the point of allocation.");
- error_log(" If XX is set it sets the number of backtrace frames.");
- error_log(" This option also enables dumping the backtrace heap data");
- error_log(" when a signal is received. The data is dumped to the file");
- error_log(" backtrace_dump_prefix.<PID>.txt.");
- error_log(" The default is %zu frames, the max number of frames is %zu.",
- DEFAULT_BACKTRACE_FRAMES, MAX_BACKTRACE_FRAMES);
- error_log("");
- error_log(" backtrace_enable_on_signal[=XX]");
- error_log(" Enable capturing the backtrace at the point of allocation.");
- error_log(" The backtrace capture is not enabled until the process");
- error_log(" receives a signal. If XX is set it sets the number of backtrace");
- error_log(" frames. The default is %zu frames, the max number of frames is %zu.",
- DEFAULT_BACKTRACE_FRAMES, MAX_BACKTRACE_FRAMES);
- error_log("");
- error_log(" backtrace_dump_prefix[=FILE]");
- error_log(" This option only has meaning if the backtrace option has been specified.");
- error_log(" This is the prefix of the name of the file to which backtrace heap");
- error_log(" data will be dumped. The file will be named backtrace_dump_prefix.<PID>.txt.");
- error_log(" The default is %s.", DEFAULT_BACKTRACE_DUMP_PREFIX);
-
- error_log("");
- error_log(" backtrace_dump_on_exit");
- error_log(" This option only has meaning if the backtrace option has been specified.");
- error_log(" This will cause all live allocations to be dumped to the file");
- error_log(" backtrace_dump_prefix.<PID>.final.txt.");
- error_log(" The default is false.");
- error_log("");
- error_log(" backtrace_full");
- error_log(" Any time a backtrace is acquired, use an unwinder that can");
- error_log(" display Java stack frames. This unwinder can run slower than");
- error_log(" normal unwinder.");
- error_log("");
- error_log(" fill_on_alloc[=XX]");
- error_log(" On first allocation, fill with the value 0x%02x.", DEFAULT_FILL_ALLOC_VALUE);
- error_log(" If XX is set it will only fill up to XX bytes of the");
- error_log(" allocation. The default is to fill the entire allocation.");
- error_log("");
- error_log(" fill_on_free[=XX]");
- error_log(" On free, fill with the value 0x%02x. If XX is set it will",
- DEFAULT_FILL_FREE_VALUE);
- error_log(" only fill up to XX bytes of the allocation. The default is to");
- error_log(" fill the entire allocation.");
- error_log("");
- error_log(" fill[=XX]");
- error_log(" On both first allocation free, fill with the value 0x%02x on",
- DEFAULT_FILL_ALLOC_VALUE);
- error_log(" first allocation and the value 0x%02x. If XX is set, only fill",
- DEFAULT_FILL_FREE_VALUE);
- error_log(" up to XX bytes. The default is to fill the entire allocation.");
- error_log("");
- error_log(" expand_alloc[=XX]");
- error_log(" Allocate an extra number of bytes for every allocation call.");
- error_log(" If XX is set, that is the number of bytes to expand the");
- error_log(" allocation by. The default is %zu bytes, the max bytes is %zu.",
- DEFAULT_EXPAND_BYTES, MAX_EXPAND_BYTES);
- error_log("");
- error_log(" free_track[=XX]");
- error_log(" When a pointer is freed, do not free the memory right away.");
- error_log(" Instead, keep XX of these allocations around and then verify");
- error_log(" that they have not been modified when the total number of freed");
- error_log(" allocations exceeds the XX amount. When the program terminates,");
- error_log(" the rest of these allocations are verified. When this option is");
- error_log(" enabled, it automatically records the backtrace at the time of the free.");
- error_log(" The default is to record %zu allocations, the max allocations",
- DEFAULT_FREE_TRACK_ALLOCATIONS);
- error_log(" to record is %zu.", MAX_FREE_TRACK_ALLOCATIONS);
- error_log("");
- error_log(" free_track_backtrace_num_frames[=XX]");
- error_log(" This option only has meaning if free_track is set. This indicates");
- error_log(" how many backtrace frames to capture when an allocation is freed.");
- error_log(" If XX is set, that is the number of frames to capture. If XX");
- error_log(" is set to zero, then no backtrace will be captured.");
- error_log(" The default is to record %zu frames, the max number of frames is %zu.",
- DEFAULT_BACKTRACE_FRAMES, MAX_BACKTRACE_FRAMES);
- error_log("");
- error_log(" leak_track");
- error_log(" Enable the leak tracking of memory allocations.");
- error_log("");
- error_log(" record_allocs[=XX]");
- error_log(" Record every single allocation/free call. When a specific signal");
- error_log(" is sent to the process, the contents of recording are written to");
- error_log(" a file (%s) and the recording is cleared.", DEFAULT_RECORD_ALLOCS_FILE);
- error_log(" If XX is set, that is the total number of allocations/frees that can");
- error_log(" recorded. of frames to capture. The default value is %zu.", DEFAULT_RECORD_ALLOCS);
- error_log(" If the allocation list fills up, all further allocations are not recorded.");
- error_log("");
- error_log(" record_allocs_file[=FILE]");
- error_log(" This option only has meaning if the record_allocs options has been specified.");
- error_log(" This is the name of the file to which recording information will be dumped.");
- error_log(" The default is %s.", DEFAULT_RECORD_ALLOCS_FILE);
- error_log("");
- error_log(" verify_pointers");
- error_log(" A lightweight way to verify that free/malloc_usable_size/realloc");
- error_log(" are passed valid pointers.");
+ error_log("For malloc debug option descriptions go to:");
+ error_log(" https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md");
}
bool Config::GetOption(const char** options_str, std::string* option, std::string* value) {