public class com.sun.tools.jdi.ProcessAttachingConnector extends com.sun.tools.jdi.ConnectorImpl implements com.sun.jdi.connect.AttachingConnector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.jdi.ProcessAttachingConnector
super_class: com.sun.tools.jdi.ConnectorImpl
{
static final java.lang.String ARG_PID;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "pid"
static final java.lang.String ARG_TIMEOUT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "timeout"
com.sun.tools.attach.VirtualMachine vm;
descriptor: Lcom/sun/tools/attach/VirtualMachine;
flags: (0x0000)
com.sun.jdi.connect.Transport transport;
descriptor: Lcom/sun/jdi/connect/Transport;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.tools.jdi.ConnectorImpl.<init>:()V
1: aload 0
2: ldc "pid"
3: aload 0
ldc "process_attaching.pid.label"
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
4: aload 0
ldc "process_attaching.pid"
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
5: ldc ""
6: iconst_1
7: invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.addStringArgument:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
8: aload 0
9: ldc "timeout"
10: aload 0
ldc "generic_attaching.timeout.label"
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
11: aload 0
ldc "generic_attaching.timeout"
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
12: ldc ""
13: iconst_0
14: iconst_0
ldc 2147483647
15: invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.addIntegerArgument:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZII)V
16: aload 0
new com.sun.tools.jdi.ProcessAttachingConnector$1
dup
aload 0
invokespecial com.sun.tools.jdi.ProcessAttachingConnector$1.<init>:(Lcom/sun/tools/jdi/ProcessAttachingConnector;)V
putfield com.sun.tools.jdi.ProcessAttachingConnector.transport:Lcom/sun/jdi/connect/Transport;
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/jdi/ProcessAttachingConnector;
public com.sun.jdi.VirtualMachine attach(java.util.Map<java.lang.String, ? extends com.sun.jdi.connect.Connector$Argument>);
descriptor: (Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
ldc "pid"
aload 1
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.argument:(Ljava/lang/String;Ljava/util/Map;)Lcom/sun/tools/jdi/ConnectorImpl$ArgumentImpl;
invokevirtual com.sun.tools.jdi.ConnectorImpl$ArgumentImpl.value:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
ldc "timeout"
aload 1
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.argument:(Ljava/lang/String;Ljava/util/Map;)Lcom/sun/tools/jdi/ConnectorImpl$ArgumentImpl;
invokevirtual com.sun.tools.jdi.ConnectorImpl$ArgumentImpl.value:()Ljava/lang/String;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: aload 3
invokevirtual java.lang.String.length:()I
ifle 5
4: aload 3
invokestatic java.lang.Integer.decode:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 4
5: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aconst_null
astore 5
start local 5 6: aconst_null
astore 6
start local 6 7: aload 2
invokestatic com.sun.tools.attach.VirtualMachine.attach:(Ljava/lang/String;)Lcom/sun/tools/attach/VirtualMachine;
astore 6
8: aload 6
invokevirtual com.sun.tools.attach.VirtualMachine.getAgentProperties:()Ljava/util/Properties;
astore 7
start local 7 9: aload 7
ldc "sun.jdwp.listenerAddress"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
end local 7 10: goto 16
StackMap locals: com.sun.tools.jdi.ProcessAttachingConnector java.util.Map java.lang.String java.lang.String int java.lang.String com.sun.tools.attach.VirtualMachine
StackMap stack: java.lang.Exception
11: astore 7
start local 7 12: new java.io.IOException
dup
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 7 13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
14: aload 6
ifnull 15
aload 6
invokevirtual com.sun.tools.attach.VirtualMachine.detach:()V
15: StackMap locals: com.sun.tools.jdi.ProcessAttachingConnector java.util.Map java.lang.String java.lang.String int java.lang.String com.sun.tools.attach.VirtualMachine top java.lang.Throwable
StackMap stack:
aload 8
athrow
16: StackMap locals: com.sun.tools.jdi.ProcessAttachingConnector java.util.Map java.lang.String java.lang.String int java.lang.String com.sun.tools.attach.VirtualMachine
StackMap stack:
aload 6
ifnull 17
aload 6
invokevirtual com.sun.tools.attach.VirtualMachine.detach:()V
17: StackMap locals:
StackMap stack:
aload 5
ifnonnull 19
18: new java.io.IOException
dup
ldc "Not a debuggee, or not listening for debugger to attach"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 5
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 7
start local 7 20: iload 7
iconst_1
if_icmpge 22
21: new java.io.IOException
dup
ldc "Unable to determine transport endpoint"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals: int
StackMap stack:
aload 5
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 23: aload 5
iload 7
iconst_1
iadd
aload 5
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
24: aconst_null
astore 9
start local 9 25: aload 8
ldc "dt_socket"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
26: new com.sun.tools.jdi.SocketTransportService
dup
invokespecial com.sun.tools.jdi.SocketTransportService.<init>:()V
astore 9
27: goto 33
28: StackMap locals: java.lang.String com.sun.jdi.connect.spi.TransportService
StackMap stack:
aload 8
ldc "dt_shmem"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
29: ldc "com.sun.tools.jdi.SharedMemoryTransportService"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 10
start local 10 30: aload 10
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.sun.jdi.connect.spi.TransportService
astore 9
end local 10 31: goto 33
StackMap locals:
StackMap stack: java.lang.Exception
32: pop
33: StackMap locals:
StackMap stack:
aload 9
ifnonnull 35
34: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Transport "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not recognized"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 9
aload 5
iload 4
i2l
lconst_0
invokevirtual com.sun.jdi.connect.spi.TransportService.attach:(Ljava/lang/String;JJ)Lcom/sun/jdi/connect/spi/Connection;
astore 10
start local 10 36: invokestatic com.sun.jdi.Bootstrap.virtualMachineManager:()Lcom/sun/jdi/VirtualMachineManager;
aload 10
invokeinterface com.sun.jdi.VirtualMachineManager.createVirtualMachine:(Lcom/sun/jdi/connect/spi/Connection;)Lcom/sun/jdi/VirtualMachine;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/sun/tools/jdi/ProcessAttachingConnector;
0 37 1 args Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;
1 37 2 pid Ljava/lang/String;
2 37 3 t Ljava/lang/String;
3 37 4 timeout I
6 37 5 address Ljava/lang/String;
7 37 6 vm Lcom/sun/tools/attach/VirtualMachine;
9 10 7 props Ljava/util/Properties;
12 13 7 x Ljava/lang/Exception;
20 37 7 pos I
23 37 8 lib Ljava/lang/String;
25 37 9 ts Lcom/sun/jdi/connect/spi/TransportService;
30 31 10 c Ljava/lang/Class;
36 37 10 connection Lcom/sun/jdi/connect/spi/Connection;
Exception table:
from to target type
7 10 11 Class java.lang.Exception
7 13 13 any
29 31 32 Class java.lang.Exception
Exceptions:
throws java.io.IOException, com.sun.jdi.connect.IllegalConnectorArgumentsException
Signature: (Ljava/util/Map<Ljava/lang/String;+Lcom/sun/jdi/connect/Connector$Argument;>;)Lcom/sun/jdi/VirtualMachine;
MethodParameters:
Name Flags
args
public java.lang.String name();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "com.sun.jdi.ProcessAttach"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/jdi/ProcessAttachingConnector;
public java.lang.String description();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "process_attaching.description"
invokevirtual com.sun.tools.jdi.ProcessAttachingConnector.getString:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/jdi/ProcessAttachingConnector;
public com.sun.jdi.connect.Transport transport();
descriptor: ()Lcom/sun/jdi/connect/Transport;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.jdi.ProcessAttachingConnector.transport:Lcom/sun/jdi/connect/Transport;
ifnonnull 2
1: new com.sun.tools.jdi.ProcessAttachingConnector$2
dup
aload 0
invokespecial com.sun.tools.jdi.ProcessAttachingConnector$2.<init>:(Lcom/sun/tools/jdi/ProcessAttachingConnector;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.jdi.ProcessAttachingConnector.transport:Lcom/sun/jdi/connect/Transport;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdi/ProcessAttachingConnector;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.sun.tools.jdi.ConnectorImpl.toString:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.util.Map defaultArguments();
descriptor: ()Ljava/util/Map;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.sun.tools.jdi.ConnectorImpl.defaultArguments:()Ljava/util/Map;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ProcessAttachingConnector.java"
NestMembers:
com.sun.tools.jdi.ProcessAttachingConnector$1 com.sun.tools.jdi.ProcessAttachingConnector$2
InnerClasses:
public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
abstract ArgumentImpl = com.sun.tools.jdi.ConnectorImpl$ArgumentImpl of com.sun.tools.jdi.ConnectorImpl
com.sun.tools.jdi.ProcessAttachingConnector$1
com.sun.tools.jdi.ProcessAttachingConnector$2