-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
C#: Fix loading plugin to support debug symbols #87595
C#: Fix loading plugin to support debug symbols #87595
Conversation
This change replaces `LoadFromStream` with a direct `LoadFromAssemblyPath` to allow the C# module to interface with `netcoredbg` This solution comes from this issue: Samsung/netcoredbg#91 (comment)
This sounds like a bug on netcoredbg. As I understand it from reading the issue you linked, netcoredbg is unable to find the PDB file when using the I haven't checked but I'd imagine the DLL built from Godot contains the PDB file name, so they should be able to find it. But even if it didn't contain it, we're not using that overload. We're using the overload that takes the assembly stream AND the assembly symbols stream (the PDB), so we're already providing the PDB. This case (our case) should work, and if it doesn't then it's a bug on netcoredbg. There's also a linked PR (Samsung/netcoredbg#108) that seems like it fixes the netcoredbg bug, so I suggest waiting for that instead. You could try that branch and see if it fixes the issue for you. As for why we are using
|
I agree that the netcoredbg branch is probably the better option if it gets resolved, but reading through it, I do see that it's pretty stale. Are we sure that |
AFAIK it's a Windows thing not specific to |
I just created a new PR(Samsung/netcoredbg#164) which should fix this issue. I do believe the netcoredbg route because it was unable to read in-memory module symbols. msdbg does not. |
@granitrocky The changes have been implemented so you can try the latest version of netcoredbg. |
@thanikTheDev Thanks! I'll try it out and if it fixes the issue I can close this PR. |
@granitrocky Can you confirm that this was fixed upstream? |
@raulsntos I can confirm that the latest |
@granitrocky Would you clarify how you were able to get netcoredbg working, which IDE you used, and whether or not it works in VSCodium? Per our conversation in Chickensoft, it sounds like it does not work from VSCodium, and I am wondering if there is a relevant bug on the VSCodium side of things (I was unable to find one). I tried using the latest VSCodium with the C# extension that uses netcoredbg, and it simply quit without any errors in any of the logs. |
I used the This does seem to be a VSCodium related problem and not netcoredbg or Godot |
I think either you or me, are misreading something :) Apart from the "easy way" not working anymore, that post you linked seems to indicate precisely how to make it work. In fact is the current recommended approach by vscodium team. Its only in godot that we are having issues. Edit: my bad, apologies. It seems I was focusing in that issue OP, but missing crucial parts of the conversation going on there. |
Fixes godotengine/godot-csharp-vscode#43
This change replaces
LoadFromStream
with a directLoadFromAssemblyPath
to allow the C# module to interface withnetcoredbg
This solution comes from this issue:
Samsung/netcoredbg#91 (comment)