如何获取Java.exe/jvm.dll的符号文件来分析崩溃核心转储文件?

Ali*_*ong 5 java websphere coredump

我有一个在Websphere应用服务器上运行的Java应用程序.当我分析系统崩溃核心转储文件时,我得到一些这样的信息:

ERROR: Symbol file could not be found.  Defaulted to export symbols for J9THR23.dll 
Run Code Online (Sandbox Code Playgroud)

如何获取Java的符号文件?

提前致谢.

更多细节在这里:

*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for J9THR23.dll - 
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: ntdll!_PEB                                    ***
***                                                                   ***
*************************************************************************
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for j9jit23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for java.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for j9gc23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for jvm.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for jclscar_23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for j9ute23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for J9PRT23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for j9vm23.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for DBGHELP.DLL - 
Run Code Online (Sandbox Code Playgroud)

爱丽丝龚

jdh*_*h80 5

您可以在此站点获取JDK的DEBUG版本.

http://download.java.net/jdk6/

寻找jdk-6u12-ea-bin-b03-windows-i586-debug-22 dec 2008.jar,91.47 MB

它包括.pdb文件

  • 我相信这里提供的文件不是真正的PDB文件,而是完整版本的Java二进制文件,具有不同的编译选项,恰好包括PDB文件.但这些无助于查看生产JVM的现有转储. (3认同)

agn*_*nul 2

看起来调试器正在寻找 PDB 文件,据我所知,java 应用程序的调试信息不​​是 PDB 文件。PDB 文件是在创建 Windows 本机应用程序时由 VisualStudio 生成的,因此调试器似乎正在寻找应用程序服务器的调试符号。不知道WebSphere是否有自己的调试版本。另一方面,如果您想要调试 java 应用程序的符号,您只需要使用该-g选项重新编译它。