Skip to content

Commit 20e899b

Browse files
committed
i#1850 Android, i#1726 ARM: update README and docs for new platforms
Updates the README files and documentation for the new Android/ARM and Linux/ARM support. Review-URL: https://codereview.appspot.com/285340043
1 parent 58e0a9e commit 20e899b

File tree

6 files changed

+44
-19
lines changed

6 files changed

+44
-19
lines changed

README

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# **********************************************************
2-
# Copyright (c) 2010-2015 Google, Inc. All rights reserved.
2+
# Copyright (c) 2010-2016 Google, Inc. All rights reserved.
33
# Copyright (c) 2008-2009 VMware, Inc. All rights reserved.
44
# **********************************************************
55

@@ -34,8 +34,9 @@ memory leaks, and (on Windows) handle leaks, GDI API usage errors, and
3434
accesses to un-reserved thread local storage slots.
3535

3636
Dr. Memory is based on the DynamoRIO binary translation engine. Dr. Memory
37-
has full support for Windows (XP and higher) and Linux, with early
38-
Mac OSX support (32-bit only) available as a Beta release.
37+
has full support for Windows (XP and higher) and Linux, with preliminary
38+
Mac OSX, Linux/ARM, and Android/ARM support (32-bit only for those three)
39+
available as a Beta release.
3940

4041
Dr. Memory also includes a system call tracing tool for Windows and a
4142
symbol query utility.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ memory leaks, and (on Windows) handle leaks, GDI API usage errors, and
1010
accesses to un-reserved thread local storage slots.
1111

1212
Dr. Memory operates on unmodified application binaries running on Windows,
13-
Linux, or Mac on commodity IA-32 and AMD64 hardware.
13+
Linux, Mac, or Android on commodity IA-32, AMD64, and ARM hardware.
1414

1515
Dr. Memory is released under an LGPL license and binary packages are
1616
[available for

drmemory/docs/main.dox

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* **********************************************************
2-
* Copyright (c) 2012-2015 Google, Inc. All rights reserved.
2+
* Copyright (c) 2012-2016 Google, Inc. All rights reserved.
33
* Copyright (c) 2009 VMware, Inc. All rights reserved.
44
* **********************************************************/
55

@@ -33,8 +33,7 @@ memory leaks, and (on Windows) handle leaks, GDI API usage errors, and
3333
accesses to un-reserved thread local storage slots.
3434

3535
Dr. Memory operates on unmodified application binaries running on Windows,
36-
Mac, or Linux \if VMX86_SERVER or ESXi \endif on commodity IA-32 and AMD64
37-
hardware.
36+
Mac, Linux, or Android on commodity IA-32, AMD64, and ARM hardware.
3837

3938
This document describes how to use Dr. Memory. It is divided into the
4039
following sections:

drmemory/docs/release.dox

+4-2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ The changes between \TOOL_VERSION and version 1.9.0 include:
6464
- Added preliminary 64-bit Dr. Memory support for Windows and Linux (but
6565
not MacOS yet). This does not yet include uninitialized read checking,
6666
so we still recommend compiling your application as 32-bit.
67+
- Added preliminary Linux/ARM and Android/ARM 32-bit Dr. Memory support.
68+
This does not yet include uninitialized read checking.
6769
- Fixed incremental error output to the console for graphical
6870
applications, which was missing in prior versions when using certain
6971
consoles such as cmd.
@@ -382,6 +384,8 @@ The changes between version 1.1.0 and 1.0.1 include:
382384
Dr. Memory is still under development. It has some missing features and undoubtedly
383385
some bugs. The missing features include:
384386

387+
- Uninitialized read checking is not yet supported for 64-bit applications
388+
nor for ARM platforms.
385389
- Windows system call parameters are not all known, which can
386390
result in false positives and false negatives, especially on Vista or
387391
Windows 7+, or with code that interacts with the network.
@@ -414,8 +418,6 @@ some bugs. The missing features include:
414418
- This release can produce false positives if multiple threads write
415419
to adjacent bytes simultaneously. Future releases will provide
416420
options to trade off performance, memory usage, and accuracy.
417-
- On a 32-bit Windows 7 kernel, error reports are not visible in the \p cmd window.
418-
Send stderr to a file to view them inlined with program output.
419421

420422
\subsection sec_interop Interoperability
421423

drmemory/docs/tools.dox

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* **********************************************************
2-
* Copyright (c) 2013-2014 Google, Inc. All rights reserved.
2+
* Copyright (c) 2013-2016 Google, Inc. All rights reserved.
33
* **********************************************************/
44

55
/* Dr. Memory: the memory debugger
@@ -137,19 +137,19 @@ The usage summary is as follows:
137137
% bin/symquery.exe
138138
Usage:
139139
Look up addresses for one module:
140-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-f] [-v] -a [<address relative to module base> ...]
140+
D:\derek\drmemory\bin\symquery.exe -e <module> [-f] [-v] -a [<address relative to module base> ...]
141141
Look up addresses for multiple modules:
142-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe [-f] [-v] -q <pairs of [module_path;address relative to module base] on stdin>
142+
D:\derek\drmemory\bin\symquery.exe [-f] [-v] -q <pairs of [module_path;address relative to module base] on stdin>
143143
Look up exact symbols for one module:
144-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-v] [--enum] -s [<symbol1> <symbol2> ...]
144+
D:\derek\drmemory\bin\symquery.exe -e <module> [-v] [--enum] -s [<symbol1> <symbol2> ...]
145145
Look up symbols matching wildcard patterns (glob-style: *,?) for one module:
146-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-v] --search -s [<symbol1> <symbol2> ...]
146+
D:\derek\drmemory\bin\symquery.exe -e <module> [-v] --search -s [<symbol1> <symbol2> ...]
147147
Look up private symbols matching wildcard patterns (glob-style: *,?) for one module:
148-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-v] --searchall -s [<symbol1> <symbol2> ...]
148+
D:\derek\drmemory\bin\symquery.exe -e <module> [-v] --searchall -s [<symbol1> <symbol2> ...]
149149
List all symbols in a module:
150-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-v] --list
150+
D:\derek\drmemory\bin\symquery.exe -e <module> [-v] --list
151151
List all source lines in a module:
152-
D:\derek\drmemory\git\build_x86_dbg\bin\symquery.exe -e <module> [-v] --lines
152+
D:\derek\drmemory\bin\symquery.exe -e <module> [-v] --lines
153153
Optional parameters:
154154
-f = show function name
155155
-v = verbose

drmemory/docs/using.dox

+25-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* **********************************************************
2-
* Copyright (c) 2011-2015 Google, Inc. All rights reserved.
2+
* Copyright (c) 2011-2016 Google, Inc. All rights reserved.
33
* Copyright (c) 2009-2010 VMware, Inc. All rights reserved.
44
* **********************************************************/
55

@@ -40,6 +40,7 @@ your computer:
4040
- \subpage page_install_linux
4141
- \subpage page_install_macos
4242
- \subpage page_install_windows
43+
- \subpage page_install_android
4344

4445
***************************************************************************
4546
\page page_install_linux Installing on Linux
@@ -155,6 +156,21 @@ with the version you installed, of course). Note that the semicolon
155156
(;) is important! After editing your PATH, you should restart your Cygwin
156157
or cmd shell.
157158

159+
***************************************************************************
160+
\page page_install_android Installing on Android
161+
162+
Download the \p .tar.gz version of Dr. Memory for Android. Untar the
163+
package into a directory on your local machine:
164+
165+
\verbatim
166+
tar xzf DrMemory-ARM-Android-EABI-X.X.X-X.tar.gz
167+
\endverbatim
168+
169+
Now copy the entire unpacked directory to your Android device (typically
170+
using <tt>adb push</tt>. The <tt>bin/drmemory</tt> front-end can be
171+
invoked directly from the <tt>adb shell</tt>. Dr. Memory for Android is
172+
targeted toward native applications that use Android's NDK.
173+
158174
***************************************************************************
159175
\page page_prep Preparing Your Application
160176

@@ -335,6 +351,13 @@ Currently there is no support for applications built with Cygwin gcc or g++.
335351
The regular Dr. Memory build can be executed just fine from a Cygwin
336352
shell when targeting non-Cygwin applications.
337353

354+
********************
355+
\section sec_prep_android Android
356+
357+
Build your application using the Android NDK and copy it over to your device.
358+
Be sure to compile with debugging information included and to disable FPO,
359+
as described in \ref sec_prep_general.
360+
338361
***************************************************************************
339362
\page page_running Running Dr. Memory
340363

@@ -418,7 +441,7 @@ On Windows:
418441
drmemory.exe -- c:/path/to/my/app args to my app
419442
\endverbatim
420443

421-
On Linux or Mac:
444+
On Linux, Mac, or Android:
422445
\verbatim
423446
drmemory -- /path/to/my/app args to my app
424447
\endverbatim

0 commit comments

Comments
 (0)