Trace the 2nd argument of `JNIEXPORT jint JNICALL Agent_OnAttach(JavaVM* vm, char *args, void * reserved)`

download perf-tools from https://github.com/brendangregg/perf-tools/


```
$ sudo bin/uprobe 'p:/usr/java/jdk1.8.0_144/jre/lib/amd64/libinstrument.so:Agent_OnAttach args=+0(%si):string'
Tracing uprobe Agent_OnAttach (p:Agent_OnAttach /usr/java/jdk1.8.0_144/jre/lib/amd64/libinstrument.so:0x27b0 args=+0(%si):string). Ctrl-C to end.
           <...>-61491 [012] d... 8823844.123721: Agent_OnAttach: (0x7f0f63df87b0) args="/home/ec2-user/.greys/lib/1.7.6.6/greys/greys-agent.jar=/home/ec2-user/.greys/lib/1.7.6.6/greys/greys-core.jar;;targetIp=127.0.0.1;greysCore=/home/ec2-user/.greys/lib/1.7.6.6/greys/greys-core.jar;greysAgent=/home/ec2-user/.greys/lib/1.7.6.6/greys/greys-agent.jar;connectTimeout=6000;targetPort=3658;javaPid=61228;"
```           

For more complex parameters, like struct pointer, object pointer. Dumping the object layout first, this can be done through clang. 
https://eli.thegreenplace.net/2012/12/17/dumping-a-c-objects-memory-layout-with-clang