摘要:这篇文章将提供当一个系统核心(system core)文件出现时,一些关于调试 bea weblogic 服务器的应用程序的有用技巧.本文描述了在这个过程中可以帮助您的调试技巧.问题的解决与工具.
这文章将提供当一个系统核心(system core)文件出现时,一些关于调试bea weblogic 服务器的应用程序的有用技巧.本文描述了在这个过程中可以帮助您的调试技巧.问题的解决与工具. 【程序编程相关:JAVA/JSP学习系列之八】
作者 steve pozarycki 【推荐阅读:JAVA/JSP学习系列之一】
java虚拟机 【扩展信息:JAVA/JSP学习系列之三】
在某些本机码中,系统核心文件通常是错误的指示.这可能来源于用户的应用代码(在您应用程序中如果使用本地代码 [jni ] 的话).也可能来自您使用的 java 虚拟机版本中或 bea weblogic 服务器本身中的错误.本地代码可能引起系统核心文件在操作系统上出现的地方有两处.下面的想法与建议将帮助您缩小问题范围并且稳定应用程序,直到确定系统核心的准确问题原因为止.
第一个要看的地方是 jvm 本身.jvm 是一个本机程序并且能够引起此类错误. 当有疑问时,您可以尝试另一种被鉴定的jvm或较新的版本来确定是否是 jvm bug 导致的错误.许多 jit bug 都与编译器的使用有关,禁用这种特性将解决此类问题.通过给 java 命令行提供 " -djava.compiler=none " 选项,这种问题将得到解决.在大多数时间 jvm 将产生一个小型日志文件,该文件可能包含诸如系统核心来自哪个信息库之类的有用信息;然而,该文件在所有时间内并不是都包含有用的信息.该文件在 bea weblogic 服务器启动的目录中产生,并采用 "hs_err_pid<pid #>.log" 形式,其中,"<pid #>" 是 bea weblogic 服务器进程的进程 id.在 aix 上,这个文件将是 "javacore<pid>.<id number>.txt",其中,"<pid #>" 是 bea weblogic 服务器进程的进程 id."<id number>" 是操作系统产生的号码. 您可以去 http://java.sun.com/ 网站,并且用 hotspot " 错误 id " 号或报告发生错误时的方法搜索 bug database.
本地代码
要看的下一个地方是用您应用程序中 jni (本地代码) 调用访问的任何本机库(如果适用).这也能引起系统核心文件的产生.如果您的应用程序使用这样的库,则应仔细检查这些库.排除这些库可能很困难,由于它们的功能性可能不太容易从应用程序中除去. 如果某个使用模式与系统核心转储/ dr. watson 错误有相互关系,则可能要确定大量的日志记录.
... 下一页