问题标签 [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 投票
3 回答
1322 浏览

javascript - Node.js 调试流程

我想像 rails 一样调试 node.js。我尝试了几种方法:

  1. Webstorm 调试 - 在这种情况下,我需要在每次更改代码后单击“重新运行调试”
  2. 带有 chrome 远程调试器的 Nodemon - 在这种情况下,我需要在 nodemon 重新加载代码后每次重新连接到调试器
  3. pry.js——在这里我需要输入“eval(pry.it)”——并且没有选项让它更简单,比如“debug”或 pry()

那么调试像 byebug for rails 这样的节点应用程序的最佳选择是什么?

升级:

感谢@AbhinavD 我已经设法在 VSCode 中做到了:首先你需要编辑 app/.vscode/launch.js javascript { "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Node: Nodemon", "processId": "${command:PickProcess}", "restart": true, "protocol": "inspector", }, ] } 所以现在 nodemon 在更改后重新启动服务器并且 VSCode 自动重新连接到调试器。

见视频https://vimeo.com/267975071

有人可以在 WebStorm 中做到这一点吗?

0 投票
1 回答
441 浏览

ruby-on-rails - Rails 调试器在一段时间后自动退出,并且 Ubuntu 终端选项卡挂起

我正在使用 byebug 调试我的 rails 应用程序。调试器停止但在一段时间后自动继续并给出:

[5188]!终止超时工作人员:5378

  • 工人 0 (pid: 5959) 已启动,阶段:0

有时它也会使终端挂起。请帮忙!

0 投票
1 回答
1042 浏览

ruby-on-rails - byebug 在我输入时没有显示输出

我遇到了一个奇怪的界面故障。

当我键入时,字符根本不显示。我可以输入p "yo"或任何我想要的,当我点击enter它时运行代码。基本上我可以在紧要关头使用 byebug,但是当我看不到我正在输入的内容时,这真的很令人沮丧。

我过去曾在同一台笔记本电脑上使用过 byebug,这个问题是最近才出现的。

我正在协助一位朋友,当他使用 byebug 时,发生了同样的问题。我一直无法在网上找到任何东西。

0 投票
1 回答
57 浏览

ruby - Byebug 不更新 Ubuntu 上的局部变量

这是我的代码:

在 byebug 会话中,我设置了 的值a,但它仍未定义:

我正在运行 Ubuntu 18.04

0 投票
2 回答
333 浏览

ruby - 在红宝石中,我无法让 byebug 与硒一起工作

当我运行程序时,它直接进入driver = Selenium::WebDriver.for:chrome

我点击“n”,然后它加载 Chrome,然后转到谷歌并将这些键发送到输入框并退出程序。

我想要发生的是,我按了“n”它会转到driver.navigate.to "http://google.com". 我又按了'n',它变成了 puts driver.find_element(:tag_name, 'input');。而且我想从控制台运行诸如 driver.find_element.... 之类的命令。但我不能,因为 byebug 没有在该driver = Selenium::WebDriver.for:chrome行之后跟踪程序。

我希望能够从控制台 / irb / byebug 用 Selenium 检查 DOM

添加

评论建议使用 pry

所以我尝试了require 'pry'binding.pry。和'next'而不是'n'(因为pry使用'next')。同样的问题。

我尝试了require 'pry-byebug''binding.pry''next'而不是'n'(因为pry-byebug使用'next')。也是同样的问题。

根据 rs 的建议,我尝试了require 'pry'require 'pry-byebug'binding.pry(停止)。并尝试step了而不是next. 另外,同样的问题。我现在已经添加了这个的输出。

进一步添加

0 投票
0 回答
146 浏览

ruby - 无法构建 byebug 原生 gem 扩展

我真的到处找,找不到答案。我使用他们在其网站上提供的安装程序在我的 Windows 上安装了 ruby​​。是的,我在 64 位上运行它,这就是我的 devkit 所用的。我该怎么办,我真的很期待每个人,请帮助!

0 投票
0 回答
446 浏览

ruby - 使用 ruby​​ byebug 进行 Firendly 回溯(where 命令)

我曾经byebug知道特定呼叫的来源,但是当我使用时,where我得到了完整的回溯

有没有办法过滤where命令以仅显示我的代码?

例如,这是一个典型的where结果,它显示 127 行,但我想轻松查看 #0、#1、#64 和 #74 行,因为只有这些行是我的“代码调用”

谢谢

0 投票
0 回答
259 浏览

ruby - 如何使用 Ruby 调试动态定义的方法?(在 repl 会话中创建的方法)

是否可以在 Ruby 中调试动态定义的方法?如果是这样,我该如何实现?

所以我打开了一个新的 Pry 会话并首先尝试这样:

它用“*** No sourcefile available for (pry)”对我大喊。我仍然能够单步执行代码,但我看不到源代码。

然后我尝试这样做:

而现在情况正好相反:我可以看到源代码,但我无法单步执行代码(当我输入“step”时,它会用“NameError: undefined local variable or method `step' for主要:对象”)。看起来 Pry 实际上确实有所需的源代码,但不幸的是调试器无法工作:(

我设法使用 IPython 在 Python repl 中完成了它(虽然它在标准 Python repl 中不起作用):

我希望能够在 Ruby 中实现同样的目标

0 投票
2 回答
589 浏览

ruby-on-rails - 在 byebug 的 rails 中,如何将会话变量的输出视为字符串,只显示其中的一部分?

在 byebug 的 rails 中,如何将会话变量的输出视为字符串,只显示其中的一部分?

我可以从控制台查看会话变量的输出,但它真的很长。如果我可以把它放在一个字符串中并执行例如 thestr[1,100] 。那么就可以了。但我看不出如何将它变成一个字符串。

如您所见,会话的响应非常长。而且我看不到如何仅显示前 100 个字符。例如 thestr[0,100]

(byebug) 会话

@app=#>, @cache_control="max-age=0, private, must-revalidate", @no_cache_control="no-cache">>>>, @default_options={:path=>"/", :domain =>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false}, @key="_sessiontest1_session", @cookie_only=true>, @req =#[1, 3], "rack.errors"=>#>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=> "", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"puma 3.12.1 穿着睡衣的骆驼", "GATEWAY_INTERFACE"=>"CGI/1.2", "REQUEST_METHOD "=>"获取","REQUEST_PATH"=>"/", "REQUEST_URI"=>"/", "HTTP_VERSION"=>"HTTP/1.1", "HTTP_HO .......... ……

我尝试了 session.to_s 但这使得这个字符串不只是将上面的输出转换为字符串。

0 投票
1 回答
33 浏览

ruby-on-rails - byebug:不确认退出

有没有办法配置byebug以便在发出命令时在退出之前不要求确认?quit