4

I'm trying to debug a production issue, and the existing debug logging is not sufficient. This seems like a great use for a Checkpoint. I added a checkpoint, ran the code, and viewed the Checkpoint. I see lots of objects in the Symbols tab, including this; I need to see the contents of a map which a property of this, named participantMap. It's just a private property, declared like so:

private map<id, ParticipantAccountingView> participantMap {get; set;}

When I expand this, I see particpantMap, but I cannot expand it. I do know it is not empty based on available log data as well as observed program behavior, but I can't view the contents of the map in the Checkpoint inspector. Likewise for other map properties of this. I tried taking the address of the map from the Symbols tab and finding it in the Heap tab. It's there, but I still can't view it. Is there some setting that controls checkpoint depth or something? I've tried changing logging level from DEBUG down to FINEST (checkpoints now only require logging of INFO or higher); nothing changes.

Checkpoint Screenshot

As shown above, I can see the property, but I cannot expand it. Clicking the plus symbol or double-clicking the line do nothing.

1

Jason,

It appears to me that the tree structure of the Symbols tab has limited depth and once you reach that limit you need to find the data in the Heap.

Your participantMap is of type Map so go to the Heap tab, scan the variables of that type and then in either the first or second columns you will find the 0x6a65b97c address. That will be your Map object. Now, being a map it will contain other objects, of type ParticipantAccountingView in particular, with another 0x address. You will need to repeat this process to find the Map members in the list of variables of type ParticipantAccountingView (not Map...) and scan for the new 0x address there.

It is a bit messy but I found it to be reliable and there doesn't appear to be any double-click method for it.

Cheers, Greg.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.