On 3/3/14 12:11 PM, Omair Majid wrote:
Hi,
* Daniel D. Daugherty <daniel.daughe...@oracle.com> [2014-03-03 09:57]:
On 3/1/14 4:08 PM, Mike Duigou wrote:
If we can put debuginfo into external files why would we ever want unstripped
binaries?
We deliver minimal stripped binaries so that can have stack traces
with some amount of information in them when the debuginfo files
are not available. We have not yet figured out how to implement
minimal stripping on Windows so Windows hs_err_pid files have no
symbols in them when the debuginfo bundles are not present.
Am I reading it right that when tools (like RPM) strip the debug
information from these binaries, hotspot will break completely when it
tries to generate a stack trace on crash?
Not quite. If you follow this process:
- use gobjcopy to copy debug info from libjvm.so -> libjvm.debuginfo
- use gobjcopy to tell libjvm.so that debug info is found in
libjvm.debuginfo
- strip libjvm.so (I don't remember the strip everything option)
then you can still get symbols in your crashes as long as you have
BOTH libjvm.so and libjvm.debuginfo. However, if you are in a
situation where you don't have libjvm.debuginfo, then you do not
get symbols in your crashes.
When I did the Full Debug Symbols (FDS) project, I copied complete
debug info from libjvm.so -> libjvm.debuginfo and left minimal
debug info in libjvm.so so that you could still get symbols on
crashes on Linux and Solaris when the libjvm.debuginfo files
were not present.
Dan
Thanks,
Omair