问题标签 [ruby-debug-ide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1745 浏览

ruby - 配置 VS Code 以在 WSL 上使用 ruby​​ 调试器

一般来说,我对使用终端和编程比较陌生。这是我当前在点击“开始调试”按钮时遇到的错误是 VS Code:

调试器终端错误:进程失败:spawn ~/.rvm/gems/ruby-2.3.4/bin/rdebug-ide.bat ENOENT

我的设置是 bash on ubuntu (WSL) on Win10 10.0.16299。我将 VS Code 1.21.1 集成终端设置为使用 zsh。

这是我到目前为止采取的步骤:

  1. 为 VS Code 安装了 ruby​​ 扩展
  2. 在VS Code集成终端里面,我跑了gem install ruby-debug-ide -v 0.7.0.beta3
  3. gem install debase -v 0.2.2
  4. 根据这里的答案,我创建了一个 .bat 文件~/.rvm/gems/ruby-2.3.4/bin/rdebug-ide.bat
  5. 将此添加到我的launch.json里面的调试器的vs代码中:

{

},

看来我可能需要使用 rdebug-ide.bat 的实际 Windows 路径而不是 WSL 路径,但我听说在 Windows 上的 WSL 文件夹中扎根是不好的。我想我会先在这里问一下,以防我采取了错误的步骤来解决这个问题,或者如果使用实际的 Windows 路径可能会搞砸。

0 投票
1 回答
1547 浏览

ruby-on-rails - 将 ruby​​-debug-ide 附加到现有的 Rails 服务器

背景

我已经ruby-debug-ide在 Visual Studio Code 中设置了远程调试(我正在使用 Docker)。我在我docker-compose.yml的启动ruby-debug-ide和我的rails服务器中使用这个命令:

然后在 vscode 我有这个 launch.json 脚本:

当我去 vscode 并启动那个 launch.json 脚本时,我的 rails 服务器和调试器一样启动。但是当我停止/分离 launch.json 脚本时,rails 服务器就死了。

我的问题

有没有办法ruby-debug-ide独立启动我的 Rails 服务器?我希望能够在不调试时访问我的 Rails 应用程序。是否有可能做这样的事情:

0 投票
0 回答
910 浏览

ruby - 无法安装 Ruby-Debug-Ide

我在安装 Ruby-Debug-Ide Gem 时遇到问题。我不知道如何解决这个问题。有人能帮我吗 ?非常感谢你!!

我经常尝试这个,也用其他版本的红宝石,但它仍然不起作用。我现在使用的是 Windows 7 和 Ruby 2.3.0。我还安装了 DevKit。是否有一个特殊的命令,以便 Ruby-Debug-Ide 的安装可以解决 Debase ?

0 投票
1 回答
153 浏览

ruby - 如何修复“无法构建 gem 原生扩展”。几个红宝石包?

我无法安装 ruby​​-debug-ide 和 byebug。

命令:

sudo gem install byebug

给我这个错误: 在此处输入图像描述

命令:

sudo gem install ruby-debug-ide

给我这个错误:

在此处输入图像描述 在此处输入图像描述

他们都给了我同样的错误:

“无法构建 gem 原生扩展。”

这两个问题是同一个问题的一部分还是不同的问题?


更新:

解决了我安装 byebug 的问题

ruby-debug-ide 仍然给我这个新错误:

在此处输入图像描述

0 投票
0 回答
110 浏览

ruby-on-rails - 在 VS CODE 中使用 ruby​​-debug-ide 调试 Rspec

我试图在我的 VS CODE 中使用 ruby​​-debug-ide 进行调试。当我将这些添加到 gems ruby​​-dmy gem 文件中时,一切正常。

除了我的同事不想要它,它还会破坏我们 CI 服务器上的构建。所以我想我可以在我的 gemfile 中摆脱它们,然后手动安装它们gem install

这是我的配置

但是当我运行它时,我得到了这个错误

没有gem文件就不能使用这些gem吗?

0 投票
0 回答
86 浏览

ruby - 如何使用 VSCode 通过 rake 测试调试应用程序

尝试minitest在非 Rails ruby​​ 应用程序上调试测试,我在launch.json文件中有以下配置:

即使Rakefile命中了 的断点,test_file.rb也没有命中应用程序的断点和断点。

我怀疑这可能是因为 rake 任务被称为单独的进程,但我不知道如何处理这种情况。如何使调试器在应用程序和测试文件的断点处停止?

PS:我现在用byebug;但是,它不会取代基于 IDE 的调试器。

0 投票
0 回答
251 浏览

ruby-on-rails - 如何使用 Rubymine、Docker-Compose 和多个调试会话进行调试?

我正在试验 Rubymine 的“Docker-Compose”集成。我通常通过使用和“BUG”按钮启动调试会话来进行“常规”调试。

通常我可以为“rails 服务器”启动这些会话——它本身和一个用于在“rails 控制台”中调试的会话——以及“rspec”命令同时启动。以“旧方式”工作并完美运行时,这没问题。

旧方式的意思是:运行一个

  • 调试会话中的rails控制台和rails服务器
  • MySQL
  • 弹性搜索
  • 雷迪斯
  • ...

在我的本地机器上。

但是使用docker-compose-configuration 我必须以不同的方式做到这一点:

我按照该教程(https://www.jetbrains.com/help/ruby/using-docker-compose-as-a-remote-interpreter.html#configure_ruby_docker_integration)设置了一个单一的调试会话,但我无法了解如何一次使用多个调试会话。(rails console在调试会话rails server仍在运行时添加调试会话)。不知何故,他们是冲突的。在调试会话运行rails console时在 Rubymine中启动常规是没有问题的rails server

我找到的所有教程和视频都只涵盖了最基本的案例,而不是我的。

  • 这可能吗?
  • 我是否必须更改调试端口/为第二个会话打开另一个调试端口?(我没有找到如何更改 Rubymine 附加的调试器端口,它固定为“3000:3000”),它是“在附加的文件中硬编码的docker-compose.override.1234.yml

我的容器正在运行

Rails 开发服务器配置 Rails 开发服务器配置

Rails 控制台配置 Rails 控制台配置

0 投票
1 回答
147 浏览

ruby-on-rails - 如何在 Rails 4.2 的专用调试端口上使用工头启动 Rails?

我正在使用 Rails 4.2。我使用工头启动 Rails,我想在启动 Rails 时附加一个调试器。这个问题详细介绍了 Rails 3.2 的过程——如何调试由工头启动的 rails (3.2) 应用程序?,但是我相信这个文件已经过时了

因为我不认为 Rails 4.2 支持“调试器”gem。如何在使用 Rails 4.2 的专用调试端口上使用工头启动 Rails?

0 投票
1 回答
62 浏览

ruby-on-rails - 在 Kubernetes 中设置 ruby​​/rails 进行调试 - Puma::HttpParserError: Invalid HTTP format, parsing failed

Minikube 我尝试为在Kubernetes集群中运行的 Ruby on Rails API 应用程序设置 VSCode 或 Intellij 调试器。

当我尝试启动调试会话时,容器会抛出此错误:

HTTP parse error, malformed request (): #<Puma::HttpParserError: Invalid HTTP format, parsing fails.>

宝石文件

我的 Dockerfile CMD

这是我的launch.json

我还配置了一个入口。

http://localhost:1234http://localhost:3000可以使用http://myhost.test调用我的应用程序并获得 json 响应(应该如此)。

这是我启动一个新容器并运行一次 VSCode 调试器时的容器日志:(查看最后一行)

问题:

  • 我的错误配置在哪里
  • 我错过了什么吗?
  • 这是正确的方法吗?
  • 我需要额外的端口转发吗?
  • 还是一些 ENV_VARS?
  • 这甚至可能吗?
0 投票
0 回答
48 浏览

ruby-on-rails - 分离 VSCode 调试器会停止 Docker 中的容器 Rails

我有一个在 Docker 容器中运行的 Rails 应用程序。我通过docker-compose up.

我让它运行我的容器并附加调试器。

但是每当我分离调试器时,整个容器都会崩溃。(退出代码 1)

它能做什么:

  • 开始docker-compose up
    • backend_1 | Fast Debugger (ruby-debug-ide 0.7.2, debase 0.2.4.1, file filtering is supported) listens on 0.0.0.0:1234
  • 在 http://localhost:3000 无法访问应用程序(我必须先附加调试器)
  • 附上一个调试器
  • 我分离调试器
  • 容器崩溃
  • 我必须server.pid手动删除(添加类似的脚本rm /app/tmp/pids/server.pid && $other_command$)不起作用。

它会做什么:

  • 启动 docker-compose
  • 应用程序应通过 http://localhost:3000 运行并可用
  • 每当需要时,我都会附加一个调试器
  • 如果不再需要调试器,只需分离调试器
  • 容器继续运行

我必须做的总是:

  • 重新运行/重启容器
  • rm -rf /app/tmp/pids/server.pid
  • 重新连接调试器

这是我的设置:

DockerCompose

Dockerfile

启动.json

  • 我想我必须以某种方式调整 launch.json 或 docker-compose#command 。

  • 有人有想法吗?

  • 这是通常的情况,我必须在分离调试器后重新启动容器吗?