Java 如何获取方法中的变量

2020-11-06 21:02:27 +08:00
 caiji11

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

2244 次点击
所在节点    Java
11 条回复
luckyrayyy
2020-11-06 21:06:23 +08:00
栈帧里存的? jdk 是不是有接口啊
boris93
2020-11-06 21:06:24 +08:00
调用栈里面有啊
JasonLaw
2020-11-06 21:14:13 +08:00
pursuer
2020-11-06 21:26:25 +08:00
debug 时用的是 jdwp
Cbdy
2020-11-06 21:35:00 +08:00
可以用 proxy 拦截方法调用
caiji11
2020-11-06 22:38:06 +08:00
@pursuer 感谢 你是怎么连接到 jdwp 呢 我搜很多 没找到它
caiji11
2020-11-06 22:40:13 +08:00
@pursuer 感谢 你是怎么找到 jdwp 的呢 我搜很多 没找到它
JasonLaw
2020-11-06 22:46:53 +08:00
@caiji11 #6 https://spring.io/guides/gs/spring-boot-docker/ 里面的“Debugging the Application in a Docker Container
”或许对你有用。
pursuer
2020-11-06 22:51:00 +08:00
@caiji11 我之前在 Github 上找到一个叫 miniJVM 的 JVM 实现,作者表示实现了 jdwp,那个时候了解了下。一般 jdwp 只用于调试,虽然没测试过,不过直觉上觉得会影响性能,细节的东西没怎么了解过。
caiji11
2020-11-06 23:05:47 +08:00
@pursuer 不错的项目
caiji11
2020-11-07 09:15:47 +08:00
@boris93 试了一下 StackTraceElement 中没有变量的信息

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/722537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX