BLOG.JETBRAINS.COM
Rider 2025.2 EAP 7: Low-Level Exception Suppression and Other Updates for Debugging Games
Rider 2025.2 is shaping up to be an exciting release for game developers, no matter which engine you work with. Over the last few EAP builds, weve been rolling out targeted improvements to make debugging smoother, faster, and more reliable, whether youre building with Unreal Engine, Unity, Godot, or custom C++ frameworks.In the latest EAP 7 build, weve added low-level exception suppression to give you more control when dealing with manual breakpoints and assertions commonly found in game projects. But thats just one piece of the puzzle. Lets take a look at how Rider 2025.2 is evolving into a more powerful, engine-agnostic debugger for your games. Download Rider 2025.1 EAP 7 Low-level exception suppression in the native debuggerIn many C++ game engines, its common to use custom assertions that trigger manual breakpoints, for example, the assertions in Unreal Engine. Usually, its done via __debugbreak() or inline assembly with int3. Its a handy trick: when such an assertion fires, your debugger stops right there, letting you inspect the issue on the spot. Sometimes, especially when debugging complex projects, youd rather skip over the assertion and keep going without constantly pressing the resume. Thats where our new low-level exception suppression feature comes in.Depending on the platform, the int3 instruction triggers different types of exceptions or signals:On Windows, it raises a 0x80000003 exception.On macOS, it triggers EXC_BREAKPOINT.On Linux, it sends a SIGTRAP signal.Weve made it possible to suppress these exceptions and signals across all platforms, so you can control when you want the debugger to stop and when you want it to move on.Global suppressionWant to suppress a specific low-level exception entirely?Open Run | View Breakpoints and Exceptions, hit the + button, select Low-Level Exceptions Suppressions, and checkmark the exceptions or signals youd like to suppress.Line and address suppressionsWant to suppress a specific low-level exception at a particular line or address? Think of this like a reverse breakpoint. To set it up, let the exception trigger once, then hover over the red lightning bolt icon. Right-click to open the context menu and then add suppression for that line or address.Left-click quickly adds suppression for the current line.A yellow lightning bolt indicates that suppression is active.You can manage suppressions anytime in the Breakpoints settings (via Run | View Breakpoints and Exceptions).Suppression by address can be handy if a low-level exception happens inside a library where source code isnt available.An important detail: Rider doesnt just ignore and skip the exception or signal triggered by int3; it replaces int3 with a nop in the debugging process. This means that such suppression works very fast and doesnt affect performance.Related issues: RIDER-122587, RIDER-74532Manual breakpoint adjustmentA small but important detail: on x86, when int3 fires, the program counter moves to the next instruction, which might be the following line, several lines away, or even in a different file. That could be confusing during debugging.Good news: weve fixed that behavior! Rider now adjusts the program counter so it remains on the int3 instruction. That way, when an assertion triggers, the debugger shows the exact line where it happened, not somewhere random.Related issues: RIDER-123665, CPP-22000, RIDER-126143The ability to pause all processes on a breakpointRider now includes an option to pause all attached native processes when a breakpoint is hit during multi-process debugging. This improves debugging consistency in complex scenarios, such as game development or distributed systems. The feature has been available since 2025.2 EAP 5, but its disabled by default. You can enable it by going to Settings/Preferences | Build, Execution, Deployment | Debugger and checking the Pause all native processes on breakpoint hit option.Additionally, Riders new Resume/Pause/Stop All Processes actions (found in the main menu under Run | Debugging Actions) make it easier to manage the state of multiple processes during debugging. You can search for these actions in Search Everywhere, assign hotkeys to them, or add them to the toolbar for quick access.Unity shader debugging with the new Frame Viewer pluginIf youre working with Unity, the new Frame Viewer plugin introduced in EAP 6 takes shader debugging to a new level by introducing source-level debugging for Unity shaders.You can now inspect .rdc snapshots from RenderDoc, step through original ShaderLab code, set breakpoints, and analyze draw calls with vertex and pixel selection, texture previews, and shader-based filters.The Frame Viewer plugin is currently only available for Unity projects on Windows.Major update to GDScript supportMeanwhile, Rider 2025.2 brings a major upgrade to GDScript support for Godot developers, making the entire workflow more stable and integrated. GDScript support has been significantly upgraded by integrating the former third-party plugin directly into Rider. This update resolves SDK initialization issues, fixes missing references like Globals, improves icon rendering, and eliminates reliance on insecure SDK downloads.And thats not all!These are just a few of the most recent enhancements to the game project debugging experience. If you havent been keeping up with the Early Access Program releases for Rider 2025.2, we encourage you to read through the changes weve introduced so far on this page.Share your thoughtsWhether youre debugging low-level C++ code, stepping through Unity shaders, or building your next game in Godot, Rider 2025.2 aims to make the process faster and less frustrating. With improvements across debugging tools, process control, and engine-specific support, this release brings us one step closer to making Rider the go-to IDE for game development.If you download the latest EAP build and try these updates out for yourself, please share your experience with us. You can send us your opinions and suggestions through our usual feedback channels: here in the comments section, over on our issue tracker, or on our social media X and Bluesky. Download Rider 2025.1 EAP 7
0 Commenti 0 condivisioni 18 Views