• jdwp-(ide-proxy)交互数据流1


    (1)
    IDE接收到的packet->ID=2/Virtual Machine(1)/IDSizes(7)/0/

    proxy->ide packet:ID=2/(0)/(0)/0/0000000800000004000000040000000400000004

    fieldIDSize = 00000008

    methodIDSize = 00000004

    objectIDSize = 00000004

    referenceTypeIDSize = 00000004

    frameIDSize = 00000004

    IDSizes Command (7)

    Returns the sizes of variably-sized data types in the target VM.The returned values indicate the number of bytes used by the identifiers in command and reply packets.

    Out Data

    (None)

    Reply Data

    intfieldIDSizefieldID size in bytes  
    intmethodIDSizemethodID size in bytes  
    intobjectIDSizeobjectID size in bytes  
    intreferenceTypeIDSizereferenceTypeID size in bytes  
    intframeIDSizeframeID size in bytes  

    Error Data

    VM_DEADThe virtual machine is not running. 

    --------------------------

    (2)

     

    EventRequest Command Set (15)
    Set Command (1)

    Set an event request. When the event described by this request occurs, an event is sent from the target VM. If an event occurs that has not been requested then it is not sent from the target VM. The two exceptions to this are the VM Start Event and the VM Death Event which are automatically generated events - see Composite Command for further details.

    事件请求命令集 (15)
    设置命令 (1)
    设置事件请求。 当此请求描述的事件发生时,将从目标 VM 发送一个事件。 如果发生未请求的事件,则不会从目标 VM 发送该事件。 两个例外是 VM 启动事件和 VM 死亡事件,它们是自动生成的事件 - 有关更多详细信息,请参阅复合命令。

    从IDE接收到的packet->ID=4/EventRequest(15)/Set(1)/0/080000000000

    proxy->ide packet:ID=4/(0)/(0)/0/00000000

    从IDE接收到的packet->ID=6/EventRequest(15)/Set(1)/0/090000000000

    proxy->ide packet:ID=6/(0)/(0)/0/00000001

    ------------------------

    VirtualMachine Command Set (1)

    Returns the JDWP version implemented by the target VM. The version string format is implementation dependent.

    从IDE接收到的packet->ID=8/Virtual Machine(1)/Version(1)/0/

    proxy->ide packet:ID=8/(0)/(0)/0/0000000b56657273696f6e20312e30000000010000000400000003312e30000000174a6176612043617264203320506c6174666f726d205249
     

    Version Command (1)

    Returns the JDWP version implemented by the target VM. The version string format is implementation dependent.

    Out Data

    (None)

    Reply Data

    stringdescriptionText information on the VM version 
    intjdwpMajorMajor JDWP Version number 
    intjdwpMinorMinor JDWP Version number 
    stringvmVersionTarget VM JRE version, as in the java.version property 
    stringvmNameTarget VM name, as in the java.vm.name property 

    -----------------------------------

    从IDE接收到的packet->ID=10/Virtual Machine(1)/Capabilities(12)/0/

    proxy->ide packet:ID=10/(0)/(0)/0/00000000000000

    Capabilities Command (12)

    Retrieve this VM's capabilities. The capabilities are returned as booleans, each indicating the presence or absence of a capability. The commands associated with each capability will return the NOT_IMPLEMENTED error if the cabability is not available.

    Out Data

    (None)

    Reply Data

    booleancanWatchFieldModificationCan the VM watch field modification, and therefore can it send the Modification Watchpoint Event? 
    booleancanWatchFieldAccessCan the VM watch field access, and therefore can it send the Access Watchpoint Event? 
    booleancanGetBytecodesCan the VM get the bytecodes of a given method?  
    booleancanGetSyntheticAttributeCan the VM determine whether a field or method is synthetic? (that is, can the VM determine if the method or the field was invented by the compiler?)  
    booleancanGetOwnedMonitorInfoCan the VM get the owned monitors infornation for a thread? 
    booleancanGetCurrentContendedMonitorCan the VM get the current contended monitor of a thread? 
    booleancanGetMonitorInfoCan the VM get the monitor information for a given object?  

    --------------------------------

    从IDE接收到的packet->ID=12/Virtual Machine(1)/AllClasses(3)/0/

    proxy->ide packet:ID=12/(0)/(0)/0/000000070100ffffff0000000d4c53797374656d436c6173733b000000000301000001000000025b42000000000301000002000000025b5a000000000301000003000000025b53000000000301000004000000025b490000000001001d8001000000344c636f6d2f6f7261636c652f6a63636c61737369632f73616d706c65732f68656c6c6f776f726c642f48656c6c6f576f726c643b0000000003001d0002000000355b4c636f6d2f6f7261636c652f6a63636c61737369632f73616d706c65732f68656c6c6f776f726c642f48656c6c6f576f726c643b00000000
     

    AllClasses Command (3)

    Returns reference types for all classes currently loaded by the target VM.

    Out Data

    (None)

    Reply Data

    intclassesNumber of reference types that follow. 
    Repeated classes times:
    byterefTypeTagKind of following reference type.  
    referenceTypeIDtypeIDLoaded reference type 
    stringsignatureThe JNI signature of the loaded reference type 
    intstatusThe current class status.  

    --------------------------------------

    从IDE接收到的packet->ID=14/Virtual Machine(1)/TopLevelThreadGroups(5)/0/

    proxy->ide packet:ID=14/(0)/(0)/0/00000001ffffffe0

    TopLevelThreadGroups Command (5)

    Returns all thread groups that do not have a parent. This command may be used as the first step in building a tree (or trees) of the existing thread groups.

    Out Data

    (None)

    Reply Data

    intgroupsNumber of thread groups that follow. 
    Repeated groups times:
    threadGroupIDgroupA top level thread group 

    ------------------------

     

    从IDE接收到的packet->ID=18/EventRequest(15)/Set(1)/0/070000000000

    proxy->ide packet:ID=18/(0)/(0)/0/00000003

    ---

    从IDE接收到的packet->ID=20/EventRequest(15)/Set(1)/0/080100000001050000002273756e2e696e737472756d656e742e496e737472756d656e746174696f6e496d706c
    proxy->ide packet:ID=20/(0)/(0)/0/00000004

    ---

    从IDE接收到的packet->ID=22/EventRequest(15)/Set(1)/0/080100000001050000002273756e2e696e737472756d656e742e496e737472756d656e746174696f6e496d706c

    proxy->ide packet:ID=22/(0)/(0)/0/00000005

    ---

    从IDE接收到的packet->ID=24/EventRequest(15)/Set(1)/0/0801000000010500000032636f6d2e6f7261636c652e6a63636c61737369632e73616d706c65732e68656c6c6f776f726c642e4d794d61696e54657374
    proxy->ide packet:ID=24/(0)/(0)/0/00000006

    --------

    从IDE接收到的packet->ID=26/EventRequest(15)/Set(1)/0/0801000000010500000032636f6d2e6f7261636c652e6a63636c61737369632e73616d706c65732e68656c6c6f776f726c642e48656c6c6f576f726c64
    proxy->ide packet:ID=26/(0)/(0)/0/00000007

    ---

    从IDE接收到的packet->ID=28/ReferenceType(2)/Status(9)/0/001d8001

    proxy->ide packet:ID=28/(0)/(0)/0/00000002

    -----

    从IDE接收到的packet->ID=30/ReferenceType(2)/Methods(5)/0/001d8001

    proxy->ide packet:ID=30/(0)/(0)/0/000000031d800100000000063c696e69743e00000003282956000000041d80010100000007696e7374616c6c00000007285b4253422956000000091d8001020000000770726f636573730000001c284c6a617661636172642f6672616d65776f726b2f415044553b295600000001
    ----

    从IDE接收到的packet->ID=32/Virtual Machine(1)/CapabilitiesNew(17)/0/

    proxy->ide packet:ID=32/(0)/(0)/0/0000000000000000000000000000000000000000000000000000000000000000
    -----------

    从IDE接收到的packet->ID=34/Method(6)/LineTable(1)/0/001d80011d800100

    proxy->ide packet:ID=34/(0)/(0)/0/0000000000000000000000000000001100000004000000000000000000000023000000000000000400000024000000000000000c00000025000000000000001000000026
    ------------

    从IDE接收到的packet->ID=36/Method(6)/LineTable(1)/0/001d80011d800101

    proxy->ide packet:ID=36/(0)/(0)/0/0000000000000000000000000000000900000002000000000000000000000033000000000000000800000034

    ---

    从IDE接收到的packet->ID=38/Method(6)/LineTable(1)/0/001d80011d800102

    proxy->ide packet:ID=38/(0)/(0)/0/000000000000000000000000000000530000000e00000000000000000000004100000000000000050000004400000000000000110000004600000000000000120000004900000000000000170000004a000000000000001a0000004c000000000000001d0000004d00000000000000280000004e000000000000002e0000004f000000000000003600000052000000000000003b00000053000000000000004300000056000000000000004900000058000000000000005200000059
    ------------

    从IDE接收到的packet->ID=40/ReferenceType(2)/SourceFile(7)/0/001d8001

    proxy->ide packet:ID=40/(0)/(0)/0/0000000f48656c6c6f576f726c642e6a617661

    --------

    从IDE接收到的packet->ID=42/EventRequest(15)/Set(1)/0/0202000000010701001d80011d8001000000000000000004

    ----------proxy->VM begin---------

    packetData = 4606011d00000007

    ----------proxy->VM end---------

     ==========VM->proxy begin==========

    从VM读取到的数据 data = c60400000000

    ==========VM->proxy end==========

    proxy->ide packet:ID=42/(0)/(0)/0/00000008

    --------------

    从IDE接收到的packet->ID=44/EventRequest(15)/Set(1)/0/0801000000010500000032636f6d2e6f7261636c652e6a63636c61737369632e73616d706c65732e68656c6c6f776f726c642e48656c6c6f576f726c64
     

    proxy->ide packet:ID=44/(0)/(0)/0/00000009

    ---------------

    从IDE接收到的packet->ID=46/EventRequest(15)/Set(1)/0/0202000000010701001d80011d8001020000000000000005

     ----------proxy->VM begin---------

     packetData = 4606011d00000026

    ----------proxy->VM end---------

    ==========VM->proxy begin==========

    从VM读取到的数据 data = c60400000000

     ==========VM->proxy end==========

    proxy->ide packet:ID=46/(0)/(0)/0/0000000a

    ---------------

    从IDE接收到的packet->ID=48/Virtual Machine(1)/Resume(9)/0/

    ----------proxy->VM begin---------

    packetData = 4103010001

     ----------proxy->VM end---------

    ==========VM->proxy begin==========

    从VM读取到的数据 data = c103000001

    ==========VM->proxy end==========

    -----------------

  • 相关阅读:
    多线程基础:线程基本概念与线程的创建
    FPGA序列脉冲波形发生器
    排序算法、堆排序、大顶堆、小顶堆、手写快排-215. 数组中的第K个最大元素、2336. 无限集中的最小数字
    c++(六)
    python基础-1(开发环境安装及配置anaconda 5.3.1+py3.7)
    IP协议-服务类型字段
    紫光同创FPGA实现图像去雾 基于暗通道先验算法 纯verilog代码加速 提供2套工程源码和技术支持
    【4.2 集中趋势&离散趋势】(描述性统计分析)——CDA
    第19章 并发与竞争实验(iTOP-RK3568开发板驱动开发指南 )
    jenkins部署vue项目
  • 原文地址:https://blog.csdn.net/liudong200618/article/details/136254515