问题标签 [rdebug]
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 - turn-on-rdebug-track-mode 在 emacs 中显示错误的行号
我正在调试一个相当大的 rails 项目,我发现 emacs 的 rdebug 库有很大的帮助。然而,一个烦恼是源代码中的指针显示了错误的行。在下面的示例中,代码正在执行第 #277 行(如左侧终端所示),但代码中的指针位于下一行(如右侧终端所示)。
有人对如何追踪此错误有任何想法吗?我认为这是在 ruby-debug-extras 包中,但我没有对 emacs 进行任何黑客攻击,所以我什至不知道向其报告此错误的正确邮件列表。
ruby-on-rails - Rails Debug - 如何在每一步打印变量值
假设我有一个名为的变量@test_var
我有一百行代码使用这个变量
在调试时,我需要n
为下一步提供并@test_var
检查值
我可以在单个命令中执行这两个操作(即)在每一步打印变量的值吗?
ruby - 远程调试器不中断 - rdebug-ide - RubyMine 6
本周刚刚安装了 RubyMine 6,并尝试在 ubuntu 服务器上进行远程调试。
我在服务器上运行这个命令:
rdebug-ide -d –host 0.0.0.0 –port 8080 –dispatcher-port 3389 –bin/rails s
如果我尝试在 IDE 中添加断点,我会得到通常的结果:30564:
如果我访问 rails 应用程序,断点将被完全绕过。
调试安装在服务器上的 gem:debugger (1.6.2) debugger-linecache (1.2.0) debugger-ruby_core_source (1.2.4) ruby-debug-base19x (0.11.30.pre15) ruby-debug-ide (0.4.22)
调试安装在运行 rubymine 的客户端上的 gem: debugger (1.6.2) debugger-linecache (1.2.0) debugger-ruby_core_source (1.2.4, 1.2.3) ruby-debug-base19x (0.11.30.pre15) ruby-debug- ide (0.4.22)
在 localhost 上调试完美。
有任何想法吗?
谢谢。
ruby-on-rails - 如何在 RubyMine 中调试使用 spring 运行的 rails 控制台或服务器?
Rubymine 支持spring,但根据文档,它不适用于控制台或服务器,并且无论如何在调试时都被禁用。
是否可以使用远程调试,在 spring 下启动rdebug-ide,并将其附加到 RubyMine?
r - R:如何使 dump.frames() 包含所有变量,以便以后使用 debugger() 进行事后调试
我有以下代码,它会引发错误并使用Hadley Wickhamdump.frames()
的建议写入所有帧的转储:
当我重新启动 R 会话并加载转储以通过以下方式调试问题时
我在帧中的任何地方都找不到我的变量(a、b、a.local.value)和我的函数“bad.function”。
这使转储对我来说几乎毫无价值。
为了进行体面的事后分析,我必须做什么才能查看所有变量和函数?
的输出debugger
是:
PS:我正在使用 R3.3.2 和 RStudio 进行调试。
r - 在 RStudio 中调试期间代码文件重复
我最近在 RStudio 中调试包代码时遇到了一个问题。假设我在源文件中有一个函数,比如说foo.R
,并在该函数的主体中设置一个断点。然后,当我在控制台中运行到达该断点的某些东西时,代码面板中会显示第二个副本foo.R
,并且它会弹出到前台。我设置断点的行在新视图中突出显示,但红点出现在第一个副本中。这让我发疯,因为它发生在每个源文件中,并且使我的代码窗口变得一团糟。
此外,如果我在文件的第一个副本中进行了更改,重新构建,并且不关闭调试副本,那么如果我仍然有活动的断点,则这些更改不会显示在调试副本中。这非常令人困惑。
这是我进入通话后看到的图示。文件的第一个版本有红点;您可以看到第二个副本的选项卡:
该文件的第二个副本是显示调试的位置:
这就是我在控制台中输入的内容:
我的想法是,这可能与它立即从Browse[1]
到Browse[2]
。但是,我试过debuggingState(on = FALSE)
了,但这并没有什么不同。
这不是我能够重现的错误。如果我切换到不同的项目,这不会发生。这显然是我项目中的一些设置搞砸了。
r - Mac RStudio [版本 1.4.1106] 调试器仍然无法工作并显示“调试位置是近似的,因为源不可用”
问题是在 RStudio 中,当我设置断点来调试代码时,调试器没有正确地进入我的函数。而是将我带到一些未知的土地并给出警告消息“调试位置是近似的,因为源不可用”。
在过去提出这个Rstudio 问题时,我可以看到类似的堆栈溢出问题。我也可以看到在 Github 上提出并关闭了这个问题,但我在最新版本中仍然面临这个问题。有人可以建议修复或解决方法吗?
编辑:
以下是问题的分步说明:
我有一个项目,其中包含分布在许多文件和文件夹中的各种类和函数。
我想遵循顶部脚本中的函数调用。为此,我在顶部函数中设置了一个断点。然后我找到了脚本。
调试器成功停止在断点处。但是,当我按下“Step into the current function call”按钮时,调试器会将我带到 R 语言中的一些未知代码以及我提到的错误消息。查看代码,调试器似乎将我带到了底层 R 函数。
系统
显然它会进入一些看起来很随机的代码并停在那里,例如有时它会停在这里:
ruby-on-rails - RubyMine Rails 远程调试 rdebug-ide
我正在使用 RubeMine 开发 RAILS 代码。我在 RubyMine 和 rdebug-ide 之间使用远程调试。
一切都很好,但调试器有一个小问题。
在 RAILS 中,我在 MODEL 中使用:
在没有调试器的情况下自然运行时,我可以访问并询问例如:
但是在调试器中运行时,同一行代码会失败。
ActionView::Template::Error (未定义的方法‘paper’.....
所以我的想法是调试器的原因。版本信息:
和想法解决这个问题?
r - R S3 泛型方法设置为可见 FALSE
我有一个 R 对象lf
,它是类的一个元素tbl_lazy
:
在 sloop 包的帮助下,我可以看到通用函数print.tbl_lazy
设置为visible = FALSE
. print.tbl_lazy
这似乎是打印返回的原因Error: object 'print.tbl_lazy' not found
。
当我调试时,print
我看到了对的调用,print.lazy
现在可以看到print.tbl_lazy
.
我的问题是为什么类的所有方法都tbl_lazy
设置为visible = FALSE
,这样做的后果是什么?在我看来,虽然它可能有一些优点,但无论它们是什么,它都会使方法的代码更难访问,在像 R 这样的语言中,被这么多非技术用户使用,似乎是一个很大的坏处。
我无法找到任何有关此的文档。
ruby-on-rails - 为什么当代码在 Ruby on Rails 的断点处运行时,VSCode 远程调试会话不参与?
我在 Mac Big Sur 上使用 VSCode 1.61.1 和 Rails 4.2 应用程序(ruby-debug-ide 0.7.3,debase 0.2.2.beta10),与 Unicorn 应用程序服务器一起运行。Rails 应用程序在虚拟服务器上运行(通过 Vagrant 构建)。我已经暴露了所有必要的端口。我在我的 launch.json 中配置了这个
然后在我的虚拟服务器中,我使用
从 VS Code 中,然后我通过单击附加调试器
在我的 Rails 服务器上,我可以看到这个调试输出
然后从 VSCode,当我添加断点时,我在我的 Rails 应用程序上看到了这个输出
但是当我真正访问应该达到断点的网页时,什么也没有发生。我现在调用代码是因为我看到“打印”语句输出到日志。但不确定我还需要做什么才能让 VSCode 的调试器在适当的断点处进行操作。