1. C++ symbol. Use LoadObject.lookup() to determine the C++ symbol that the address is closest too.
2. MetaData objects. Wrap a MetaData object around the address, allowing PointerLocation to later call MetdaData.printValueOn(). This will display details about objects like instances of Method and InstanceKlass
3. Object type. If the object is not a MetaData instance, simply print the name of the objects type.
4. Java stack address. If the address is in a JavaThread's java stack, display information about the JavaThread and the stack boundaries.
There are also some minor adjustments being made to various printOn() and similar methods so they do a better job of printing when called by PointerLocation.
Note that when the mem command is also converted to java, these changes will help there also as mem calls PointerFinder for each address displayed. See
- blocks
-
JDK-8250801 Add clhsdb "threadcontext" command
- Resolved
- is blocked by
-
JDK-8248878 SA: Implement simple workaround for JDK-8248876
- Resolved
-
JDK-8247515 OSX pc_to_symbol() lookup does not work with core files
- Resolved
-
JDK-8248194 Need better support for running SA tests on core files
- Resolved
- relates to
-
JDK-8261702 ClhsdbFindPC can fail due to PointerFinder incorrectly thinking an address is in a .so
- Resolved
-
JDK-8247518 Umbrella bug for tracking PointerFinder related bugs
- Closed
-
JDK-8261098 Add clhsdb "findsym" command
- Resolved
-
JDK-8244669 convert clhsdb "mem" command from javascript to java
- Resolved
-
JDK-8244670 convert clhsdb "whatis" command from javascript to java
- Resolved
-
JDK-8261844 serviceability/sa/ClhsdbFindPC.java#id1 failed with "'In code in NMethod for LingeredAppWithTrivialMain.main' missing from stdout/stderr"
- Closed