JDK-8036003: Add variable not to separate debug information.
Daniel D. Daugherty
daniel.daugherty at oracle.com
Mon Mar 3 11:20:38 PST 2014
On 3/3/14 12:11 PM, Omair Majid wrote:
> * Daniel D. Daugherty <daniel.daugherty at 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
- 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.
More information about the hotspot-dev