caiji11
V2EX  ›  Java

Java 如何获取方法中的变量

  •  
  •   caiji11 · Nov 6, 2020 · 2754 views
    This topic created in 2037 days ago, the information mentioned may be changed or developed.

    反射获获取不到方法中的变量 但是 debug 时 是如何做到实时获取每个变量的值呢

    11 replies    2020-11-07 09:15:47 +08:00
    luckyrayyy
        1
    luckyrayyy  
       Nov 6, 2020 via iPhone
    栈帧里存的? jdk 是不是有接口啊
    boris93
        2
    boris93  
       Nov 6, 2020 via Android   ❤️ 1
    调用栈里面有啊
    pursuer
        4
    pursuer  
       Nov 6, 2020   ❤️ 1
    debug 时用的是 jdwp
    Cbdy
        5
    Cbdy  
       Nov 6, 2020
    可以用 proxy 拦截方法调用
    caiji11
        6
    caiji11  
    OP
       Nov 6, 2020
    @pursuer 感谢 你是怎么连接到 jdwp 呢 我搜很多 没找到它
    caiji11
        7
    caiji11  
    OP
       Nov 6, 2020
    @pursuer 感谢 你是怎么找到 jdwp 的呢 我搜很多 没找到它
    JasonLaw
        8
    JasonLaw  
       Nov 6, 2020
    @caiji11 #6 https://spring.io/guides/gs/spring-boot-docker/ 里面的“Debugging the Application in a Docker Container
    ”或许对你有用。
    pursuer
        9
    pursuer  
       Nov 6, 2020
    @caiji11 我之前在 Github 上找到一个叫 miniJVM 的 JVM 实现,作者表示实现了 jdwp,那个时候了解了下。一般 jdwp 只用于调试,虽然没测试过,不过直觉上觉得会影响性能,细节的东西没怎么了解过。
    caiji11
        10
    caiji11  
    OP
       Nov 6, 2020
    @pursuer 不错的项目
    caiji11
        11
    caiji11  
    OP
       Nov 7, 2020
    @boris93 试了一下 StackTraceElement 中没有变量的信息
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   931 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 22:08 · PVG 06:08 · LAX 15:08 · JFK 18:08
    ♥ Do have faith in what you're doing.