-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Emit windows-specific debug info #19533
Comments
The relevant information can be found at http://clang.llvm.org/docs/MSVCCompatibility.html:
We should try and support this functionality also in |
This depends on adding support for |
Yes, if you don't want to do your linking manually. I agree that if we say that we support this type of debuginfo, we should also make it as ergonomic as possible. |
Perhaps we can copy the .NET implementation if we want full PDB? This probably is something LLVM needs to support. |
Assigning to @michaelwoerister, this is coming more relevant now that we have initial MSVC support! |
FWIW, I have the beginnings of a LLVM patch for adding x86-32 FPO information for unwinding. |
Quick update: It seems that LLVM on Windows will already emit CodeView line tables alongside DWARF if debuginfo is enabled. We just have to instruct |
Would this solve the problem? Or will we still need to rig something up for printing local vars &c? |
As far as I know, it should bring us on the same level as Clang as far as PDB debuginfo is concerned. Variable and type information just isn't supported by LLVM yet. |
This PR will enable RUSTC to generate PDB debuginfo files when targeting the MSVC toolchain. Mind that these are not full featured PDB files -- they just contain line tables, so you can get proper backtraces and step through your code, but variable values can't be inspected. We are just levering (LLVM's current support)[http://clang.llvm.org/docs/MSVCCompatibility.html] for creating Windows debuginfo. When LLVM's support gets better, we should benefit from that too without much effort. I also wanted to include some kind of auto test with this PR but I could not get the `rmake` tests to work properly when targeting MSVC. EDIT: Closes #19533
LLVM supports a simple windows-specific debug info containing just line numbers, that works correctly in the MS debugger. @michaelwoerister knows the details.
The text was updated successfully, but these errors were encountered: