-
Notifications
You must be signed in to change notification settings - Fork 250
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
Rust now emits with a new PDB language identifier, breaking debugging on Windows #633
Comments
Thanks for letting me know! |
yeah this has caused me issues already so I had to switch from nightly to stable just to test a software bug.... Anyways keep up the good work on the project! |
@vadimcn is there anyways you could start releasing a beta version with the fix for this on VC as I know VC added the ability to have multiple Versions of the same lib including Alpha and Beta's? As this has really affected a huge majority of my development now since most everything I use needs nightly features that have no replacement within stable for. Or do you already have a fixed version I could build and manually install? |
@genusistimelord my development work is also affected by this, as I use nightly compiler by default. I reverted to nightly-2022-01-27 as that is the last nightly without the LLVM patches. I also tried to build an LLVM with all the relevant patches baked in, but could not find any clear instruction on how to go forward with it and abandoned it as a lost cause. If @vadimcn could kindly publish the instructions for updating CodeLLDB's fork of LLVM, other contributors would be able to fiddle with it, maybe? |
The fix is now in the latest LLVM via this change: https://reviews.llvm.org/D119044 |
This change ended up hitting Rust 1.59.0 (the current stable release), rather than 1.60.0 as intended. @vadimcn is there anything we can do to help expedite a fix? For those that are interested, here's what happened on the Rust side that caused it to hit stable one version early:
|
Okay, I've a new build. Please test it! |
@vadimcn it works sometimes but not other times? it ran with a smaller source set but wont run for my server source.
Also i noticed a weird thing in the Variables list. it looks like multiple of the same variable? Anyways if this is something unrelated i can make a new issue if it is a issue. but debugging sometimes works in rust nightly and the newest stable with your changes. |
@vadimcn I tried it at my work on a different PC and it seems to have ran just fine now.. Weird other than that it is a issue i just need to figure out what the cause could be. |
@vadimcn your dev build is working here. I tested with 1.59.0 and 1.58.1 on x86_64-pc-windows-msvc. I also occasionally see duplicate variables in the locals list (though never as many as @genusistimelord). The duplicates appeared in both the Let me know you need help with more testing before getting this published. Thanks for this extension! |
we will test whatever needs to be tested for you @vadimcn just let us know. |
@vadimcn do you have an estimate when you'd be comfortable pushing a new release to the VS marketplace? |
@vadimcn I figured out what the cause was on my Home PC. It was due to missing dll's for postgresql stuff. Would be nice if the debugger could have disclosed what dll's the exe is looking for on start up. Not sure if it is possible though. |
Unfortunately, Windows does not provide this information in the process launch error. AFAIK, the best one can do is to enable loaded debug info ouput. However this is a global registry setting that requires admin privileges, so not something I'd like a debugger to do automatically. |
Fixed in v1.7.0 |
I am encountering that same error with version 1.7.0 of CodeLLDB. I'm using
|
what rust compiler are you using on windows gcc or the windows msvc? |
Here is what I have: |
I have tested this myself with stable-x86_64-pc-windows-msvc - rustc 1.60.0 (7737e0b5c 2022-04-04) Seems to work just fine for me. Maybe you need to run a cargo clean or something. @CdeM-LucBergeron I basically went to the breakpoint then did a Step over. |
Rust now has a dedicated language identifier in the PDB format, instead of emitting as Masm.
https://reviews.llvm.org/D115300
This broke CodeLLDB's ability to debug binaries produced by the latest Rust compiler on Windows:
rust-lang/rust#93624
I see that CodeLLDB is using a patched LLVM that detects
Masm
as potentially Rust code via this vadimcn/llvm-project@4aba5a4 commit. Can we update the patch to also detectRust
(0x15) as Rust code ?Let me know if I can help.
The text was updated successfully, but these errors were encountered: