问题标签 [byebug]

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 回答
813 浏览

ruby-on-rails - Rails:Byebug 不在控制台中打印

由于某些未知原因,Byebug 停止在控制台中打印代码。

例如,我在以下测试中添加了byebug :

在此处输入图像描述

我在控制台/终端中得到了什么:

在此处输入图像描述

你知道什么可能是错的,或者我可以在哪里搜索这个问题的原因?

编辑:

命令我如何运行测试:

编辑2:

当我在任何地方使用 Byebug 运行服务器时,它也不起作用。它甚至不打印任何日志。这是运行服务器并向他们发送一些请求后它看起来如何控制台 - ...空:

在此处输入图像描述

它不会在控制台中打印可能是由 puma.rb 配置引起的:

0 投票
2 回答
1949 浏览

ruby - Set conditional breakpoint with pry-byebug

Given the following code:

I'd like to "loop until i == 5 then break" while inside pry-byebug. From running it help break it seems like you can identify breakpoints by "breakpoint #" or "line #". It also seems like you can use conditions, however I'm not getting it to work:

Trying to set breakpoint on line #:

First setting breakpoint then putting condition on break point:

As you can see, in both cases pry-byebug doesn't respect the condition because it stops too soon. How do I get it to work?

0 投票
2 回答
1490 浏览

ruby - Byebug 是否完全支持 Windows?

我的环境是 macOS,我没有 Windows 环境。我正在写一篇关于 Byebug 的博客文章,我想知道它是否完全支持 Windows。这是我得到的信息:

可能行不通?

  • Rails 5platform: :mri为 byebug gem 添加了选项。(见这里
  • 这份文件说mri 不包括 Windows。
  • 我听说有些人说某些命令(例如restart)在他们的 Windows PC 中不起作用。
  • 那么Byebug不支持Windows?

可能有用吗?

我不确定哪个想法是正确的。有人知道吗?

更新

@deivid 说 Byebug 支持 Windows。那么,Gemfile 的有效平台选项是什么?

:platforms => [:mri, :mingw, :x64_mingw]还是:platforms => [:mri, :mswin]

以下是从该页面中提取的选项。

  • ruby => C Ruby (MRI) 或 Rubinius,但不是 Windows
  • mri => 与 ruby​​ 相同,但不是 Rubinius
  • rbx => 与 ruby​​ 相同,但只有 Rubinius(不是 MRI)
  • jruby => JRuby
  • mswin => 窗口
  • mingw => Windows 32 位“mingw32”平台(又名 RubyInstaller)
  • x64_mingw => Windows 64 位“mingw32”平台(又名 RubyInstaller x64)

此评论中:

mswin 和 mingw 是完全不同的东西。

而 mswin 似乎是这些软件包:

https://www.artonx.org/data/asr/

而且 Byebug CI 仅针对 mingw 和 x64_mingw 运行,所以我想它应该是:platforms => [:mri, :mingw, :x64_mingw],对吗?

0 投票
2 回答
2126 浏览

ruby - 如何在 Ruby Pry 中查看变量?

我正在使用 Ruby 2.2.2、Pry 和“pry-byebug”。该continue语句删除 have in 中的所有监视变量pry-byebug

每次都失去它们continue会使观看的表情变得毫无价值。如果我改为使用next并单步执行代码中的同一点,则被监视的表达式仍然存在;这只是continue导致问题的原因。目前我什至找不到关于该watch声明的任何文档,所以我不知道为什么会发生这种情况。

更一般地说,我只想在每个 Pry 提示符上打印出一组表达式的值(或者,如果它们自上次打印以来发生了变化,则打印出来。)我如何在 Ruby 中实现这一点调试器?

0 投票
1 回答
2574 浏览

ruby-on-rails - 在 byebug 中进行 Rails 多行调试或如何在单行中进行救援

有时我需要调试一些隐藏或截断回溯的令人讨厌的异常,比如ArgumentError没有任何堆栈跟踪。

我习惯用 byebug 调试。问题是 byebug 解释器是一个 REPL,所以不可能编写多行代码。我试图弄清楚如何进行内联救援并从那里打印回溯,即我想要一个内联、REPL 兼容的版本

我努力了

但是该行引发了 SyntaxError

我不确定我错过了什么?

编辑

上面的行在常规 IRB/Rails shell 上工作正常,但在 byebug shell 上不行

内陆税收局

堆栈跟踪显示成功

再见虫

0 投票
2 回答
673 浏览

ruby-on-rails - byebug:中断输出到控制台

我有一些代码(Rails 应用程序)可以生成输出到控制台。

我想使用 byebug 来获取生成该输出的任何位置。

有没有办法做到这一点?

0 投票
1 回答
534 浏览

ruby - 为什么 Ruby 调试器在运行时返回的值与代码不同?

查看这个简单的 Ruby 类:

运行此类时,可以在调试器的控制台中观察到以下行为:

在断点处,调试器返回以下值:

请注意 - 尽管调试器的断点是在线的#5- 它已经知道bar在线定义的局部变量#10将隐藏该方法bar,并且调试器实际上无法再调用该bar方法。目前不知道的是该字符串'local string'将被分配给bar. 调试器返回nil.bar

让我们继续 Ruby 文件中的原始代码并查看其输出:

在运行时,#7Ruby 仍然知道这bar确实是一个方法,并且它仍然能够在 line 中调用它#8。然后 line#10实际上定义了隐藏具有相同名称的方法的局部变量,并且 tTherefore Ruby 像预期的那样返回 line#12#13

问题:为什么调试器返回的值与原始代码不同?它似乎能够展望未来。这被认为是功能还是错误?这种行为是否记录在案?

0 投票
1 回答
264 浏览

ruby-on-rails - 类似于 coffescript 的 gem byebug

是否有任何类似于ruby​​ gem byebugfor coffescript的工具?

我希望能够停止 JS 代码并检查变量的值/状态(例如数据等)

0 投票
1 回答
301 浏览

ruby - 调用堆栈“围绕”红宝石代码

我有一行带有重载方法的 Ruby 代码。我想显示该行的调用堆栈。我不知道calleror的位置byebug。我想在执行后显示该行的当前调用堆栈并找到调试的地方。我该怎么做?

大约像caller Test.method,然后:

0 投票
1 回答
8335 浏览

ruby-on-rails - 通过 docker-compose 使用远程 byebug 实例

有没有办法设置 Rails 服务器,以便您可以连接远程 byebug 服务器并轻松调试?我过去通过设置 byebug 然后在 0.0.0.0 上启用 Rails 绑定并设置 VIRTUAL_PORT=3000 来完成此操作,但我想知道是否还有其他更简单的方法来调试已经运行的容器。我查看了https://docs.docker.com/engine/reference/commandline/attach/但无法正确设置它。