JetBrains Rider
 
Get JetBrains Rider
Get your hands on the new features ahead of the release by joining the Early Access Program for Rider 2025.1! Learn more

Track objects (Mark/Unmark Object)

Last modified: 08 October 2024

You can make the debugger keep track of specific objects even if they are out of the current context.

When the program is suspended by the debugger, you can assign a label to any object in the current context with Mark Object. After that, the object will be pinned until it is garbage-collected, or you remove the label with Unmark Object, or until you finish the debugger session.

In the example below, both book1 and book2 have the same title and the same presentation in the debugger views:

JetBrains Rider debugger: Tracking objects (Make Object ID)

So we marked book1 with the Kings_book label:

JetBrains Rider debugger: Tracking objects (Make Object ID)

Now, when the marked object appears in any context, the variable that holds it will be shown with the corresponding label. This comes in handy when there could be multiple similar objects, and you want to distinguish between them or when you track a specific object.

JetBrains Rider debugger: Tracking objects (Make Object ID)

Unless marked objects are garbage-collected, you can access them even if they are out of the current context using the Evaluate dialog CtrlAlt0Q — just make sure that the program is suspended and use the object's label as if it were a local variable name:

JetBrains Rider debugger: Evaluating expression with a tracked object