|
|
1
19
此代码是否可能在内部循环中?然后,JIT编译器可能会将此调用堆栈编译为本机代码,从而丢失堆栈信息。然后,当附加调试器时,它将禁用JIT,使信息再次可用。 其他的手动异常会继续显示信息,因为JIT没有优化。 在第102行,这个类源代码的注释中的其他人可能会遇到这种情况: http://logging.apache.org/log4j/1.2/xref/org/apache/log4j/spi/LocationInfo.html |
|
2
88
使用jvm标志-xx:-omitstacktraceinfastthrow,您可以为此用例禁用jvm的性能优化。如果给定此参数(禁用标志),StackTrace将可用。 有关更多信息,请查看以下发行说明: 服务器vm中的编译器现在为所有“冷”内置异常提供了正确的堆栈回溯。出于性能目的,当这种异常被抛出几次时,可以重新编译该方法。重新编译后,编译器可以使用不提供堆栈跟踪的预分配异常选择更快的策略。要完全禁用预分配异常的使用,请使用此新标志:-xx:-omitstacktraceinfastthrow。“ http://java.sun.com/j2se/1.5.0/relnotes.html |
|
|
3
0
我可以复制这个,但这似乎有点奇怪,这会发生在你的行动某处。 如果使用空数组调用setstacktrace,那么只会显示文本。
运行它…
|