问题标签 [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.
ruby-on-rails - 如何将 Byebug 与 Sidekiq 和 Foreman 一起使用
我有一个 rails 应用程序,我在其中使用 foreman 来启动我的 rails 和 sidekiq 服务器。由于工头与常规的 byebug 交互不佳(您在键入时看不到提示),因此我已经为我的 rails 和 sidekiq 服务器设置了远程调试。这对于 rails 服务器非常有效,但是当我连接到 sidekiq 服务器的 byebug 服务器时,我得到以下信息:
而且我无法捕获任何 byebug 断点。
根据文档,(byebug:ctrl)提示意味着程序已经正常终止(https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md),但是sidekiq正在运行作业就好了.
我的配置有什么不正确的地方,还是 sidekiq 与 byebug 的远程调试不兼容?
档案:
配置/初始化程序/byebug.rb:
请注意,当我不使用远程调试时,sidekiq 的 byebug 功能正常(尽管在工头中我在键入时看不到提示)。
另请注意,我之前尝试过使用Byebug.wait_connection = true
,Byebug.start_server
但我遇到了同样的问题。
ruby - 调试工头使用 byebug 启动应用程序。远程调试连接但没有提示
我有工头启动多个应用程序。我已经设置了带有端口的 byebug 服务器
我开始服务
我看到终端报告的服务启动和端口号:
我用远程选项启动了 byebug,我得到的只是:
这就是我的问题。“连接的。” 但没有 byebug 提示。此外,我所追求的断点似乎触发了,但 byebyg 远程调试仅此而已。
想法?任何人?因为我到处搜索,似乎没有人遇到类似的问题。
我的系统参数:
- OS X 埃尔卡皮坦 10.11.2
- 红宝石 2.2.3
- 导轨 4.1.14
- byebug 8.2.1
- 工头 0.78.0
ruby-on-rails-4 - 在 Byebug 中记录过滤参数
我想知道如果我打印出过滤参数的值会发生什么byebug
。会是[FILTER]
orthe actual value
还是empty string
.
例如密码和信用卡字段
我得到空字符串,所以我不确定该值是否存在。
ruby-on-rails - 在 Rails 的集成测试中失败
我正在开发 Rails 教程(M. Hartl)的示例项目,但在第 9 章结束时,我的集成测试失败了。
测试断言如下:
错误主体是:
因此使用 byebug 进行测试调试,但没有发现任何问题。服务器对测试模块的响应如下(“ JSON.parse(response.body) ”的结果):
观看“ p user ”的反应是:
更新:
集成测试是:
ruby-on-rails - 调试器导致内部服务器错误
我不能再放置debugger
在我的控制器方法中。我用 Chrome 的 Postman 测试 API 调用。方法都可以工作,但是如果我包含debugger
在一个方法中(不管是哪个方法,也不管我debugger
在方法中的位置)并使用 Postman 调用该方法,我会收到错误消息。以前从来都不是问题。有人可以帮忙找出原因吗?
ruby-on-rails - 有什么方法可以在乘客 + nginx 下运行 byebug?
我开发了一个简单的 Rails 应用程序,它在 WEBrick 下的开发环境中工作。但是,当我转移到生产环境时,它不起作用。我修复了与资产和事物有关的琐碎错误。然而,有些事情是行不通的。能够通过调试器以交互方式查看正在发生的事情将非常有帮助。
我可以插入byebug
代码,它会暂停代码运行,但由于乘客和Nginx都没有都没有记录到 STDOUT(默认情况下),我无法进入 byebug 提示符。(并且既不阅读标准输入)
有没有办法byebug
在乘客 + nginx下运行?
编辑
这次我的问题与https有关。
ruby-on-rails - 在生产中包含 Ruby IRB shell gem 对性能有何影响?(即 Pry / Byebug / awesome_print ...)
在 Rails 项目中,通常会看到 shell 增强 gem 仅包含在 Gemfile 的development
/test
部分中——大概是因为如果将这些 gem 包含在生产 Gemfile 中,则会影响性能或内存。
然而,因为我在 Heroku 上的 Rails 生产服务器上做了很多工作,所以我想美化我的外壳,以便它可以更多地模仿开发(例如通过包含像pry
和/或byebug
,或这样的宝石awesome_print
)。但是,如果我知道它会显着减慢我的应用程序的速度,我无法证明将它们添加到生产中是合理的。
那么byebug
,在 Rails 生产环境中包含 shell 增强 gem 对性能有何影响?即使我没有打开生产服务器外壳,它们是否会影响我的单个 dyno 生产 Rails 服务器的性能?是内存命中问题,还是即使我没有打开外壳,这些宝石也会影响我的服务器速度?pry
awesome_print
ruby - Ruby Pry 安装给出了奇怪的结果?
我的工作站:
我对此进行了研究,发现pry-nav 出乎意料地工作——但根据该问题重新安装并没有解决我的问题。
问题——我最近使用 Brightbox Cloud ppa 资源在系统范围内安装了 Ruby 2.2 和 2.3,例如:
然后安装 Pry gem 和相关依赖项:
结果是:
还需要稍微打开文件访问权限:
我以前让 Pry 使用 Ruby 1.9 和 2.1 在较旧的 RVM 钻机上工作,并且在那里工作得很好,但我显然已经“失去了安装 Pry 的公式”,或者有些东西发生了微妙的变化(?)。哦,没有 Rails 让事情变得复杂,只是简单的 Ruby 脚本。
当我运行看起来像这样的脚本代码时(并且与 RVM 钻机和私人安装的 gem 配合得很好):
当然,期望 Pry-Byebug 将在 binding.pry 方法调用之后的行处断点。而是显示以下断点 (?):
那么,这里发生了什么?为什么 Pry 在 .../pry-nav/tracer.rb 的运行模块中的第 21 行中断?
必须如何安装 Pry 和 Byebug 才能生成一组可用的 Gem?
我保证会仔细记录这个答案,这样我以后就不会再丢失它了!TIA。
补充——发布这个问题后,我做了更多的挖掘,发现了这个:
https://plus.google.com/114275173749981855325/posts
这表明应该只安装 pry 和 pry-nav,而不是 pry-byebug。所以,我卸载了 pry-byebug 和 ta-da!撬调试再次开始正常工作。
我很抱歉问了这么长的问题,只是用这么简单的解决方案自己回答。希望你们都能让这篇文章继续存在,作为对未来“如何安装 Pry”的改进。现有的关于 pry 安装的“权威”文档是模棱两可和不准确的(或者可能只是没有解决这个潜在的问题)。
谢谢您,再次对给您带来的麻烦和困惑表示歉意。
ruby - 如何在 Byebug 中继续没有断点
使用byebug
gem 使我能够continue
直到下一个断点:
我看了一遍,找不到“继续没有断点”的方法。我能想到的唯一方法是删除或注释byebug
语句,退出q!
并重新启动测试。
如何在不停留byebug
在 Ruby 中的其他语句的情况下继续?
ruby-on-rails - 从生产 irb 调试到方法
当我寻找问题时,例如使用特定的 ActiveRecord 对象时,我经常发现自己在生产系统上执行以下操作:
有时我无法重现,为什么该行article.do_something(3)
会抛出错误,所以我想直接在我的服务器上以生产模式调试它。
现在的问题是:如何使用对象/实例上#do_something
的参数进入方法?3
article
当然,可以在该方法中设置断点,重新加载生产并让所有客户在该断点上等待,直到我完成调试......但这不是最好的主意。
那么,有没有办法从正在运行的 irb / pry 会话中调试到特定实例的方法?(两者都可以)