GROPG: A Graphical On-Phone Debugger Test mobile phone app with a powerful graphical debugger I just finished coding my Android app  Christoph Csallner Tuan Anh Nguyen, [email protected] [email protected] Computer.

Download Report

Transcript GROPG: A Graphical On-Phone Debugger Test mobile phone app with a powerful graphical debugger I just finished coding my Android app  Christoph Csallner Tuan Anh Nguyen, [email protected] [email protected] Computer.

GROPG: A Graphical On-Phone Debugger
Test mobile phone
app with a powerful
graphical debugger
I just finished coding
my Android app 
Christoph Csallner
Tuan Anh Nguyen,
[email protected]
[email protected]
Computer Science and Engineering Department
University of Texas at Arlington
Nikolai Tillmann
[email protected]
Microsoft Research
Redmond, WA 98052
(3) Text-based on-phone debugger
Less powerful than graphical
debugger
Current
options:
Debug pane handle and
transparency slider
Control
buttons
In-scope variables
and reachable
heap values
(2) Attach desktop
debugger to a virtual device
Cannot emulate all phone
features (e.g., GPS)
Write to
memory
Source code
with
breakpoint
GROPG Features
(1) Attach desktop debugger
to a phone
Need two devices;
Restricted movement
Observations
-
It is hard to port an existing desktop debugger to mobile phones
- Limited screen size on mobile devices
- Increasing performance of mobile phones
-
Load source code files
Set breakpoints
View and edit active breakpoints
Inspect & change in-scope memory
values including heap
Step into, over, and out of
instructions
Inspect threads and runtime stacks
View current source code location J
GROPG Architecture
Threads and
invocation
stacks
User interface
of debuggee
Preliminary results
App
F2C
MyTrack
s
Zxing
Desktop-based Android debugger
attached to a phone
Introducing GROPG,
the world’s first
graphical on-phone
app debugger
LOC
DroidDebugger
GROPG
App Dbg Time App Dbg Time
[MB] [MB] [min:s] [MB] [MB] [min:s]
27
21,563
3
19
10
11
2:13
3:35
3
19
24
26
0:45
0:52
5,756
7
12
2:53
7
25
1:01
GROPG has a higher memory footprint [MB]
but enables faster debugging [min:s].
#
1
2
3
4
5
6
DroidDebugger
Open source file in external tool
Review code in external tool
Remember class, line for breakpoint
Switch back to debugger
Recall command syntax
Type:
stop at com.google.android.apps.
Mytracks.fragments.MapFragment:580
7 Tap Exec command
Total
T [s]
21
19
5
3
0
63
GROPG
T [s]
Open source file
18
Review code
19
n/a
0
n/a
0
n/a
0
Tap line
1
1 Tap
112
button
1
39
GROPG needs fewer steps for setting a breakpoint.