问题标签 [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.
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。
这是我到目前为止采取的步骤:
- 为 VS Code 安装了 ruby 扩展
- 在VS Code集成终端里面,我跑了
gem install ruby-debug-ide -v 0.7.0.beta3
gem install debase -v 0.2.2
- 根据这里的答案,我创建了一个 .bat 文件
~/.rvm/gems/ruby-2.3.4/bin/rdebug-ide.bat
- 将此添加到我的launch.json里面的调试器的vs代码中:
{
},
看来我可能需要使用 rdebug-ide.bat 的实际 Windows 路径而不是 WSL 路径,但我听说在 Windows 上的 WSL 文件夹中扎根是不好的。我想我会先在这里问一下,以防我采取了错误的步骤来解决这个问题,或者如果使用实际的 Windows 路径可能会搞砸。
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 应用程序。是否有可能做这样的事情:
ruby - 无法安装 Ruby-Debug-Ide
我在安装 Ruby-Debug-Ide Gem 时遇到问题。我不知道如何解决这个问题。有人能帮我吗 ?非常感谢你!!
我经常尝试这个,也用其他版本的红宝石,但它仍然不起作用。我现在使用的是 Windows 7 和 Ruby 2.3.0。我还安装了 DevKit。是否有一个特殊的命令,以便 Ruby-Debug-Ide 的安装可以解决 Debase ?
ruby-on-rails - 在 VS CODE 中使用 ruby-debug-ide 调试 Rspec
我试图在我的 VS CODE 中使用 ruby-debug-ide 进行调试。当我将这些添加到 gems ruby-dmy gem 文件中时,一切正常。
除了我的同事不想要它,它还会破坏我们 CI 服务器上的构建。所以我想我可以在我的 gemfile 中摆脱它们,然后手动安装它们gem install
这是我的配置
但是当我运行它时,我得到了这个错误
没有gem文件就不能使用这些gem吗?
ruby - 如何使用 VSCode 通过 rake 测试调试应用程序
尝试minitest
在非 Rails ruby 应用程序上调试测试,我在launch.json
文件中有以下配置:
即使Rakefile
命中了 的断点,test_file.rb
也没有命中应用程序的断点和断点。
我怀疑这可能是因为 rake 任务被称为单独的进程,但我不知道如何处理这种情况。如何使调试器在应用程序和测试文件的断点处停止?
PS:我现在用byebug
;但是,它不会取代基于 IDE 的调试器。
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
。
我的容器正在运行
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?
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:1234
也http://localhost:3000
可以使用http://myhost.test调用我的应用程序并获得 json 响应(应该如此)。
这是我启动一个新容器并运行一次 VSCode 调试器时的容器日志:(查看最后一行)
问题:
- 我的错误配置在哪里
- 我错过了什么吗?
- 这是正确的方法吗?
- 我需要额外的端口转发吗?
- 还是一些 ENV_VARS?
- 这甚至可能吗?
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 。
有人有想法吗?
这是通常的情况,我必须在分离调试器后重新启动容器吗?