| 
				
					
						
							 | 
			3 years ago | |
|---|---|---|
| .. | ||
| Android.bp | 3 years ago | |
| README.md | 3 years ago | |
| enablevlog.cc | 3 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	enablevlog
enablevlog is a JVMTI agent designed for changing the VLOG options of a running process. Currently it only allows one to turn vlog options 'on'.
Usage
Build
m libenablevlog
The libraries will be built for 32-bit, 64-bit, host and target. Below examples assume you want to use the 64-bit version.
Use libenablevlogs if you wish to build a version without non-NDK dynamic
dependencies.
Command Line
The agent is loaded using -agentpath like normal. It takes arguments in the following format:
[vlog1[,vlog2[,...]]]
It will cause the runtime to act as though you had passed these after the
-verbose:[...] argument to dalvikvm.
Supported events
At the time of writing, the following events may be listened for with this agent
- 
class - 
collector - 
compiler - 
deopt - 
gc - 
heap - 
interpreter - 
jdwp - 
jit - 
jni - 
monitor - 
oat - 
profiler - 
signals - 
simulator - 
startup - 
third-party-jni - 
threads - 
verifier - 
verifier-debug - 
image - 
systrace-locks - 
plugin - 
agents - 
dex 
These are not particularly stable and new options might get added. Examine the LogVerbosity struct definition and the parser for a up-to-date list.
ART
art -Xplugin:$ANDROID_HOST_OUT/lib64/libopenjdkjvmti.so '-agentpath:libenablevlog.so=class,profiler' -cp tmp/java/helloworld.dex -Xint helloworld
-Xpluginand-agentpathneed to be used, otherwise the agent will fail during init.- If using 
libartd.so, make sure to use the debug version of jvmti. 
adb shell setenforce 0
adb push $ANDROID_PRODUCT_OUT/system/lib64/libenablevlog.so /data/local/tmp/
adb shell am start-activity --attach-agent /data/local/tmp/libenablevlog.so=class,jit some.debuggable.apps/.the.app.MainActivity