Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBG: debugger support for Rider for Unreal Engine 2021.1 #6907

Merged
merged 3 commits into from Mar 11, 2021

Conversation

Undin
Copy link
Member

@Undin Undin commented Mar 1, 2021

Current restrictions:

Part of #5422

changelog: Provide debugging in Rider for Unreal Engine 2021.1

…rter

For some reason, Rider debugging integration fails when the platform calls `XDebugProcessConfiguratorStarter#configure`.
But since we don't configure anything, let's drop it
Rider 4UE has bundled LLDB binaries so it makes no sense to download them.
It keeps the binaries inside Native Debugging Support plugin directory so these changes adjust `RsDebuggerToolchainService#getLLDBStatus`
to check binaries inside plugin directory first
@Undin Undin added the feature label Mar 1, 2021
@Undin Undin added this to In Progress in To test via automation Mar 1, 2021
@Undin
Copy link
Member Author

Undin commented Mar 1, 2021

Important places for testing:

  • Rider 4UE uses Native Debugging Support plugin to provide native debugging capabilities. The plugin is bundled and already contains debugger binaries. So Rust plugin shouldn't try to download anything
  • Also, since we don't need to download debugger binaries, Rust section in Preferences | Build, Execution, Deployment | Debugger settings shouldn't be shown

Copy link
Member

@artemmukhin artemmukhin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Works fine on my machine, without extra downloads and settings

val runParameters = RsDebugRunParameters(environment.project, runExecutable, state.cargoProject)
return XDebuggerManager.getInstance(environment.project)
.startSession(environment, object : XDebugProcessConfiguratorStarter() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some reason, Rider debugging integration fails when the platform calls XDebugProcessConfiguratorStarter#configure

Sounds strange to me, I hope XDebugProcessStarter really solves this and there are no other unexpected problems

@Undin
Copy link
Member Author

Undin commented Mar 11, 2021

bors r=ortem

@bors
Copy link
Contributor

bors bot commented Mar 11, 2021

Build succeeded:

@bors bors bot merged commit a44216a into master Mar 11, 2021
To test automation moved this from In Progress to Test Mar 11, 2021
@bors bors bot deleted the undin/rider-debugger branch March 11, 2021 21:37
@github-actions github-actions bot added this to the v144 milestone Mar 11, 2021
@lancelote lancelote moved this from Test to Done in To test May 4, 2021
bors bot added a commit that referenced this pull request Jan 25, 2022
8265: DBG: second attempt to support debugging in Rider for Unreal Engine r=ortem a=Undin

Part of #5422
Previous attempt: #6907

Fixes #7201

After #6907, Rider for Unreal Engine has changed the inner structure of plugins related to native debugging. Previously, it contained bundled [Native Debugging Support](https://plugins.jetbrains.com/plugin/12775-native-debugging-support) plugin with bundled debugger binaries. Now, it contains the same plugin `com.intellij.cidr.debugger` as CLion (that's why it didn't work with initial implementation), so we don't need to invent a way how to determine if IDE contains bundled debugger binaries and we can just use `LLDBDriverConfiguration.hasBundledLLDB()`

Current restrictions:
- only [Rider for Unreal Engine](https://www.jetbrains.com/lp/rider-unreal/) is supported for now
- only LLDB

changelog: Provide debugging in [Rider for Unreal Engine](https://www.jetbrains.com/lp/rider-unreal/). Note, previously there was an attempt to support the debugging in Rider for Unreal Engine but it didn't work because of some technical reasons


Co-authored-by: Arseniy Pendryak <a.pendryak@yandex.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
To test
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants