Можно ли заставить работать отладку Visual Studio Code IDE приложений на Rails 5.2?


ожидаемое поведение

в VS коде (или другой IDE);

  • добавить точку останова в первую строку [корень приложения] / config / application.рубидий;
    require_relative 'boot'
  • начать отладку.
  • отладчик должен остановиться на точке останова

фактическое поведение

  • отладчик продолжается без остановки
  • NB: любая точка останова далее в выполнение приложения Rails не удается остановить исполнение.

заметки;

глядя на https://github.com/Shopify/bootsnap/issues/93, я считаю, что эта проблема возникает из-за сочетания следующих;
- новая функция Ruby 2.5 " удалить trace инструкции" (https://bugs.ruby-lang.org/issues/14104)
- Rails 5.2 включение bootsnap gem

NB: та же проблема возникает в других IDE;
- Компании JetBrains; https://youtrack.jetbrains.com/issue/RUBY-20684
- RubyMine; https://github.com/ruby-debug/ruby-debug-ide/issues/139

мое окружение

  • vscode-ruby версия: 0.18.0
  • Ruby версия: ruby 2.5.1p57 (2018-03-29 редакция 63029) [x86_64-darwin17]
  • Rails версия: 5.2.0
  • ruby-debug-ide версия: 0.6.1
  • версия debase: 0.2.2
  • VS версия кода: 1.22.2 (1.22.2)
  • операционная система: macOS 10.13.4 (17E199)
  • оборудование (опционально): для MacBook Pro (13 дюймов, середина 2012 г.) и MacBook (13-дюймовый, середина 2010 г.)
7
задан grumBit
08.01.2023 6:43 Количество просмотров материала 2978
Распечатать страницу

1 ответ

обойти

  • изменить [корень приложения] / config / boot.rb
  • замените линии;

    require 'bootsnap/setup' # Speed up boot time by caching expensive operations.

  • С;

    unless ( (('2.5.0'..'2.5.1').include? RUBY_VERSION) && defined?(Debugger) ) require 'bootsnap/setup' # Speed up boot time by caching expensive operations. end

NB:

казалось бы, основная проблема Ruby будет исправлена в 2.5.2 (ruby / ruby@b85b10c).

учитывая проблему, существовавшую только на Ruby версий 2.5.0 до 2.5.1, выше обходной путь должен работать для всех затронутые версии и оставить все другие версии в покое. (т. е. он должен работать надлежащим образом во всех конфигурациях)

0
отвечен grumBit 2023-01-09 14:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх