我找到了一篇关于如何使用otSpot Serviceability Agent检查变量值的好文章,但我仍然有疑问。
Change Variable Value in JVM with GDB
“局部变量信息对于解释方法是可靠的,但并不总是对于编译方法。但是,编译后的方法将有一个带代码地址的额外行,因此您可以在gdb中对其进行反汇编和检查”
那么为什么这种检查局部变量信息的方式对于编译方法而言并不总是可靠的呢?我怎么知道不可靠的情况是否会发生?如果发生这种情况,我将如何在gdb中对Java jitted方法进行反汇编和检查?
据我所知,GDB只能显示本机C / C ++方法。如果在不可靠的情况发生时有一个演示如何通过反汇编检查本地变量信息并在gdb中检查Java jitted方法的示例,这将是一个很好的。