New button allows to start/stop tracing. When clicking stop, DDMS downloads
the trace file and starts Traceview.
Also refactored some common parts of the HPROF and tracing handlers into a
common class. The goal is to have a default, extensible implementation
of the HPROF handler that DDMS and the plug-in can reuse. This will reduce
duplicated code.
Change-Id: Ifc48926c7f6f1c3ea49a4aa94053664be83cbb06
This uses the (new in cupcake) VM command through JDWP.
Older VMs are detected through the (also new) 'FEAT' command that notifies
which features the VM supports.
The hprof file is right now saved in /sdcard. Due to donut+ apps not having
the SD Card permission by default, we may need to change this in the (near)
future.
Upon completion of the dump by the VM, DDMS will give the user a file selector
to choose a place to save the file on the host machine.
Future improvements: run (our own) hat, or hprof-conv and a standard hprof
tool (Eclipse MAT integration for instance). This should be configurable
by the user.
Change-Id: I33696b0263e3d0788ad5d90cedf3cd17393d2f9b
Default location of the symbols is $ANDROID_PRODUCT_OUT/symbols.
Setting the env variable ANDROID_SYMBOLS allows you to override this location
so that DDMS goes look for the symbol in a different location when
resolving native heap addresses.
The SDK now contains 32 and 64 bit version of SWT. DDMS and Traceview
use the archquery java app to check the architecture of the VM to decide
which version of SWT should be used to run the apps.