Index: tools/find_runtime_symbols/README |
diff --git a/tools/find_runtime_symbols/README b/tools/find_runtime_symbols/README |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ee5c2ac88ca5d0b2e6dda3b6fb34e092ed83f9c8 |
--- /dev/null |
+++ b/tools/find_runtime_symbols/README |
@@ -0,0 +1,24 @@ |
+This script maps runtime addresses to symbol names. It is robust over |
+Address Space Layout Randomization (ASLR) since it uses runtime addresses with |
+runtime mapping information (/proc/.../maps). |
+Like 'pprof --symbols' in gperftools <http://code.google.com/p/gperftools/>. |
+ |
+ |
+Step 1: Prepare symbol information. |
+ |
+It is required to collect symbol information before mapping runtime addresses |
+to symbol names. |
+ |
+./prepare_symbol_info.py /path/to/maps [/another/path/to/symbol_info_dir] |
+ |
+The required 'maps' file is /proc/.../maps of the process at runtime. |
+ |
+ |
+Step 2: Find symbols. |
+ |
+./find_runtime_symbols.py /path/to/symbol_info_dir < addresses.txt |
+ |
+'symbol_info_dir' is the result of the Step 1. |
+The stdin should be a list of hex addresses to map, one per line. |
+ |
+The results will be printed to stdout like 'pprof --symbols'. |