serviceability agent (SA) fix for VS2010 (6987812)

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Dec 21 15:26:30 PST 2010


Greetings,

I would like to get a couple of code reviews for my fix to the
following JDK7/HSX-20 bug:

    6987812 2/3 SAJDI: "gHotSpotVMTypes was not initialized properly in
                the remote process"

Here is the URL for the webrev:

    http://cr.openjdk.java.net/~dcubed/6987812-webrev/0/

Here is an overview of the changes:

- Reorder the code in HotSpotTypeDataBase.readVMTypes() to lookup
  and decode the 'gHotSpotVMTypes' symbol first. This should help
  make any future failures in this area more consistent.

- COFFFileParser changes:
  - add comments to clarify some of the algorithms
  - read 'Base Of Data' field in optional header when PE32
    format COFF file is read
  - change ExportDirectoryTableImpl to return the 'Export RVA' field
    without modification and to return the 'Forwarder RVA' field
    after adjusting the address into a file offset

- update debugger/win32/coff/DumpExports to include more info about
  the section headers and to dump the exported symbol info in a more
  understandable order

- update debugger/win32/coff/TestParser to more clearly access the
  section header using 1-based indices instead of 0-based indices

- update the static initializer in debugger/windbg/WindbgDebuggerLocal
  to use different library loading logic for dbgeng.dll and dbghelp.dll.
  The library pair is searched for in:

   - $JAVA_HOME/jre/bin
   - dir named by DEBUGGINGTOOLSFORWINDOWS environment variable
   - the "Debugging Tools For Windows" program directory
   - the "Debugging Tools For Windows (x86)" program directory
   - the "Debugging Tools For Windows (x64)" program directory
   - the system directory (WINDOWS/system32 is searched last)

- the sawwindb.dll is now explicitly loaded from $JAVA_HOME/jre/bin

Thanks, in advance, for any reviews.

Dan



More information about the serviceability-dev mailing list