oneclick / rubyinstaller2

MSYS2 based RubyInstaller for Windows
https://rubyinstaller.org
BSD 3-Clause "New" or "Revised" License
646 stars 248 forks source link

Needs windows debug symbols! #272

Open ariccio opened 2 years ago

ariccio commented 2 years ago

What problems are you experiencing?

The version of ruby installed with ruby installer does not include microsoft-tooling compatible debug symbols.

I'm not entirely familiar with the Ruby build infrastructure on windows, but it seems that the version of ruby installed with rubyinstaller2 is built with GCC? If so, and there's no option to build with MSVC, I think you can close this issue since it doesn't seem like gcc has any support for the necessary debug symbol generation. If there is an option to build with MSVC, I don't see any documentation (I don't even know how that would interact with MSYS2?!?).

Steps to reproduce

Try to profile or debug the interpreter on windows, see no symbol information.

What's the output from ridk version?

---
ruby:
  path: C:/Ruby31-x64
  version: 3.1.1
  platform: x64-mingw-ucrt
ruby_installer:
  package_version: 3.1.1-1
  git_commit: d9d39f1
msys2:
  path: C:\Ruby31-x64\msys64
cc: gcc (Rev9, Built by MSYS2 project) 11.2.0
sh: GNU bash, version 5.1.8(1)-release (x86_64-pc-msys)
os: Microsoft Windows [Version 10.0.19044.1645]
ccmywish commented 2 years ago

Hi @ariccio , RubyInstaller2 is built via msys2, and it uses

  1. UCRT64 for 64-bit
  2. MINGW32 for 32-bit

They both use gcc toolchain. You can compile using clang toolchain (See the link below).

But I don't know if clang compiled binaries will include the microsoft-tooling compatible debug symbols, just for your information.

See https://www.msys2.org/docs/environments/ , they seem don't support using MSVC compiler.