Ruby 调试器在 STDIN 上失败。获取用户输入

2024-01-09

我相信您可以轻松重现该问题。 只需使用新的 RubyMine (7.1) — Mac 或 Windows 版本,Ruby 2.2,创建简单的脚本:

puts "Hi, i'm gonna break your debugger :)"
user_input = gets
puts "Here should be breakpoint"

将断点放在第三行并运行调试会话(RubyMine 使用ruby-debug-ide gem).

当您在 RubyMine 控制台窗口中输入某些内容以供脚本读入时gets— 程序不会吃掉你的输入:

无法执行语句:当前堆栈帧不可用。暂停 使用控制台解释器的过程

这是怎么回事?如何调试此类 Ruby 脚本?


这似乎是 RubyMine 的一个怪癖。如果您通过单击调试窗格中的“显示控制台提示符”图标来禁用控制台提示符,则这应该开始按您的预期工作

如果您很难找到“显示控制台提示符”,请参阅随附的屏幕截图在此输入图像描述 https://i.stack.imgur.com/mgoLU.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 调试器在 STDIN 上失败。获取用户输入 的相关文章

随机推荐

  • C++ 从 CreateProcess() 获取 UTF-8 输出

    我无法让它工作 所以我得到 UTF 8 输出CreateProcess into wstring 目前我正在运行此方法来执行此操作 但没有 UTF 8 输出 HANDLE g hChildStd OUT Rd NULL HANDLE g h
  • 让 PEAR 在 XAMPP(Windows 上的 Apache/MySQL 堆栈)上工作

    我正在尝试安装Laconica http laconi ca 在我的 Windows 开发服务器上使用 XAMPP 的开源微博应用程序提供的说明 http laconi ca trac wiki InstallationWindows 网站
  • Perl REST 流程布局

    我正在使用 Apache 和 Perl modperl 以及处理程序来处理请求 我对此很陌生 我不太确定如何以合理的方式安排事情 现在我有以下内容 package MyClass Handler use warnings use stric
  • 在 Swift 4 中将数据转换为 DispatchData

    我正在将一个项目迁移到 Swift 4 但我无法弄清楚应该如何使用新的 API s 在 Swift 4 中执行此操作 以下代码是旧的 Swift 3 方式 从函数中间开始 因此需要保护 let formattedString A strin
  • 为什么在我的字符串末尾添加换行符?

    我有一个小问题 我注意到 出于某种原因 当我使用 连接两个变量时 Python 自动使用换行符 for i in range o a Before readline b After readline if a b lines append
  • Django 模型无线电输入

    我正在尝试将单选按钮合并到我的表单中 在我的forms py我的表单有以下字段 class ProfileForm forms ModelForm class Meta model Profile fields first name las
  • 单击 Android 中的 URL 时会打开我的应用程序

    我定义了一个意图过滤器 以便从某些类型的 URL 启动我的应用程序 重点是它是针对所有类型的链接启动的 而我只想针对具体的主机名启动 这是我的清单
  • System.InvalidOperationException:集合已修改

    我在枚举队列时遇到以下异常 系统 InvalidOperationException 集合已修改 枚举 操作可能无法执行 这是代码摘录 1 private bool extractWriteActions out List
  • Kotlin 与正则表达式的拆分工作不符合预期

    我正在尝试将字符串拆分为 16 个字符长度的块 所以首先我创建长度为 64 的字符串 val data Some string data String format 64s data 然后我用正则表达式分割它 val nameArray d
  • 带有列表理解的python三元迭代

    三元迭代可以吗 我的意思是一个简单的版本 尽管这个特定的例子可以用更好的方式来完成 c 0 list1 4 6 7 3 4 5 3 4 c 1 if 4 i for i in list1 else 0 一个更实际的例子 strList Ul
  • 复制带有选中复选框的行

    我想将三张纸 肝脏 肺 和 肾脏 中选中复选框的行合并到一张 报告 中 我想抓取 A 列中不包含单词 sample 的行 当我将数据粘贴到 Report 中时 我想通过在其间添加一行 用相应的原始工作表名称来标记每组行 其中包含A 列中的工
  • 分步天气 API 教程 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到有关某些 api 天气实现的良好分步教程 我对此很陌生 因此官方文档并不总是像我需要开始理解的那样清晰 您可以使用来自各个站
  • SessionFactory.getCurrentSession() 线程安全吗?

    通过获取 Hibernate 会话是否线程安全SessionFactory getCurrentSession 假设我有一个static SessionFactory用于我的整个应用程序的对象 并且我向我的 servlet 发出了 5 个并
  • TensorFlow 专家的混合体

    我想在 TensowFlow 上实现一个通用模块 它接收 TensorFlow 模型列表 此处表示为专家 并从中构建专家混合 如下图所示http www aclweb org anthology C16 1133 http www aclw
  • OpenIdConnect 错误 - 租户标识符可能不是空 GUID

    我正在尝试使用 OWIN Open ID Connect 中间件将 ASP NET 应用程序的身份验证外包给 Azure Active Directory 应用程序在访问需要授权的页面时成功重定向到 Azure AD 登录页面 但是 在登录
  • Windows下appcontainer进程和普通进程之间有ipc的方式吗?

    我正在尝试在 Windows 中的 appcontainer 进程和普通进程之间建立 ipc 我在Windows appcontainer中做了一个进程 感谢这个article https www malwaretech com 2015
  • MVVM:如何在控件上进行函数调用?

    在 XAML 中 我有一个带有 x Name of 的文本框MyTextBox
  • 当用户使用 jQuery 将表头滚动到视图之外时,表头保持固定在顶部

    我正在尝试设计一个 HTML 表格 其中当且仅当用户将其滚动到视图之外时 标题才会保留在页面顶部 例如 表格可能距离页面向下 500 像素 我该如何制作 以便如果用户将标题滚动到视图之外 浏览器以某种方式检测到它不再位于 Windows 视
  • c# 通过单击按钮停止线程

    如何通过单击按钮结束我的线程 我通过单击按钮开始我的线程 new Thread SampleFunction Start 和我的线程 void SampleFunction int i 0 while true string Seconds
  • Ruby 调试器在 STDIN 上失败。获取用户输入

    我相信您可以轻松重现该问题 只需使用新的 RubyMine 7 1 Mac 或 Windows 版本 Ruby 2 2 创建简单的脚本 puts Hi i m gonna break your debugger user input get