Have DotNet version of java's LineBreakpoint<P extends JavaBreakpointProperties>?


I want to create a debugger extension on JetBrains Rider, and I need process the debug session to get expression's value when breakpoint was hit.

On the java platform, we can do this by inheriting com.intellij.debugger.ui.breakpoints.LineBreakpoint<P extends JavaBreakpointProperties> and overriding processLocatableEvent, but not in Rider.

Is there any solution I can get for this?

Official comment

The LineBreakpoint interface is a Java-language only API and not used in Rider. Other languages, such as JavaScript, Kotlin and PHP, use the XDebugger API, and there is no equivalent to overriding a breakpoint in this fashion. You can add different kind of breakpoints that do different things, for example, the Unity games engine support in Rider creates a "pausepoint" that tells a connected Unity editor to switch to pause mode, rather than break. The Unity pausepoint is added as a "type" of DotNet breakpoint, but it's perfectly possible to create a completely separate breakpoint. However, I'm not sure what you're asking to do in this question. Could you provide some more details, please?


Sorry for not replying to you in time and thanks for your reply.

My requirement is to track variable values ​​during code running in breakpoints, just like Unity's profiler tool, but it will be more flexible (no longer need to make code changes such as defining ProfilerCounter).

I have tried to define the data reporting method in the code, and use
"Evaluate and log" method to make method calls, but it takes about 10ms per call on my R7 3700x, which is unacceptable to me.


Please sign in to leave a comment.