Community
Participate
Working Groups
For large heaps, when objects have been discarded such as Strings, char[] or byte[] then the 'System Properties' query has a lot of 'null' entries and is not that useful. See bug 473113 comment 16. It might be possible to improve this query if unindexed objects are accessible by address. Also, Copy > Class Name and Copy > Value could handle unindexed objects better. Also, if there is code elsewhere such as int segmentId = snapshot.mapAddressToId(addr); IObject segment = snapshot.getObject(segmentId); this could be handled as ObjectReference ref = new ObjectReference(snapshot, addr); IObject segment = ref.getObject(); The Javadoc for ISnapshot, ObjectReference should be updated to suggest that idiom. Note that access to unindexed objects via ObjectReference requires support from the parsers; HPROF and DTFJ do handle this.
New Gerrit change created: https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/194650
Replace uses of snapshot.getObject(snapshot.mapAddressToId(address)) with ObjectReference ref = new ObjectReference(snapshot, address); IObject object = ref.getObject(); Also make sure that the HTML reports for unindex objects (so no object ID, but getOQL() returns the address) have links.
Gerrit change https://git.eclipse.org/r/c/mat/org.eclipse.mat/+/194650 was merged to [master]. Commit: http://git.eclipse.org/c/mat/org.eclipse.mat.git/commit/?id=2ccd3c32ce44c76e5f7a01fa46d397f88f3255d0
Now fixed.