gropg: a graphical on-phone debugger

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

Upload: kesler

Post on 22-Feb-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Introducing GROPG, the world’s first graphical on-phone app debugger. GROPG: A Graphical On-Phone Debugger. Test mobile phone app with a powerful graphical debugger . Nikolai Tillmann [email protected] Microsoft Research Redmond, WA 98052. Christoph Csallner [email protected]. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GROPG: A Graphical On-Phone Debugger

Introducing GROPG, the world’s first

graphical on-phone app debugger

Debug pane handle and transparency slider

Control buttons

In-scope variables and reachable heap values

Write to memory

Source code with

breakpoint

Threads and invocation

stacks

User interface of debuggee

GROPG: A Graphical On-Phone Debugger

Computer Science and Engineering DepartmentUniversity of Texas at Arlington

Nikolai [email protected]

Microsoft Research Redmond, WA 98052

I just finished coding my Android app

Test mobile phone app with a powerful graphical debugger

Observations - It is hard to port an existing desktop

debugger to mobile phones - Limited screen size on mobile devices- Increasing performance of mobile phones GROPG Architecture

GROPG has a higher memory footprint [MB] but enables faster debugging [min:s].

Preliminary results

Desktop-based Android debuggerattached to a phone

GROPG Features

Tuan Anh Nguyen, [email protected]

Christoph [email protected]

(2) Attach desktop debugger to a virtual deviceCannot emulate all phone features (e.g., GPS)

Current options:

(1) Attach desktop debugger to a phoneNeed two devices;Restricted movement

(3) Text-based on-phone debuggerLess powerful than graphical debugger

- 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

# DroidDebugger T [s] GROPG T [s]1 Open source file in external tool 21 Open source file 182 Review code in external tool 19 Review code 193 Remember class, line for breakpoint 5 n/a 04 Switch back to debugger 3 n/a 05 Recall command syntax 0 n/a 06 Type:

stop at com.google.android.apps.Mytracks.fragments.MapFragment:580

63 Tap line 1

7 Tap Exec command 1 Tap button 1Total 112 39

App LOC

DroidDebugger GROPGApp[MB]

Dbg[MB]

Time[min:s]

App[MB]

Dbg[MB]

Time [min:s]

F2C 27 3 10 2:13 3 24 0:45MyTracks

21,563 19 11 3:35 19 26 0:52

Zxing 5,756 7 12 2:53 7 25 1:01

GROPG needs fewer steps for setting a breakpoint.