我对分析java堆栈跟踪有一些疑问。我正在分析一个 java 应用程序,在日志中我看到了堆栈跟踪。如下所示——
com.naseve.vdi.common.winauth.WinAuthException: Unable to set password expiry: Failed to retrieve account days to expiry: IADsUser::get_PasswordExpirationDate FAILED - ErrorCode = -2147463156
at com.naseve.vdi.broker.filters.GssapiAuthFilter.a(SourceFile:295)
at com.naseve.vdi.broker.filters.GssapiAuthFilter.a(SourceFile:241)
at net.propero.portal.filters.ProperoAuthFilter.doFilter(SourceFile:343)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
我关心的是顶部的部分。我可以完全访问源代码,并且 100% 确定 GssapiAuthFilter 没有任何名为 a() 的方法。那么为什么堆栈跟踪会这样打印呢?另外,当我使用 Eclipse 进行远程调试时,我在 Eclipse 调试 View 中看到类似的堆栈跟踪。谁能解释一下神秘的 .a( 方法,这些方法似乎不知从何而来。
最佳答案
a()
是混淆代码的常用方法。如果您已获得源代码,它可能不会被混淆,但您正在运行的代码会被混淆。
最好询问支持图书馆的人
关于java - Java 堆栈跟踪中的神秘方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053830/