【问题标题】:Java flag to enable extended Serialization debugging info启用扩展序列化调试信息的 Java 标志
【发布时间】:2009-11-02 10:19:42
【问题描述】:

我目前正在努力使用复杂对象在 tomcat 上进行 HTTP 会话复制。

有些对象实现了Serializable,但拥有不可序列化的成员。

不幸的是,默认情况下,堆栈跟踪在这里没有提供太多有用的信息。

有一个标志-XX:????当发生 NotSerializableException 时,在堆栈跟踪中启用详细的类名。这个标志将帮助我找到错误的来源。但我忘记了它的名字

国旗叫什么名字?

【问题讨论】:

  • 通过会话,您是指 Servlet HttpSession
  • 是的。 HttpSession 必须只包含可序列化的对象,否则它不会持续重启,也无法复制到其他 tomcat 节点..

标签: java debugging serialization flags


【解决方案1】:

-Dsun.io.serialization.extendedDebugInfo=true

【讨论】:

  • 由于 SO 规则,我需要等待 2 天才能将其标记为已接受。我在mfondo.blogspot.com/2007/10/java-serialization-debugging.html 找到了答案
  • 可能值得一提的是,这个标志只在出现序列化问题时才起作用,因此在事件发生之前日志不会变得疯狂。
  • @AndreasPetersson 在哪里设置这个?就像我在使用 tomcat 服务器一样
  • @eatSleepCode 启动 Tomcat 的命令行。它是一个Java参数,所以需要放入java命令中。
猜你喜欢
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-21
相关资源
最近更新 更多