Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调试Rails应用程序?_Java_Ruby On Rails_Ruby_Eclipse_Netbeans - Fatal编程技术网

Java 如何调试Rails应用程序?

Java 如何调试Rails应用程序?,java,ruby-on-rails,ruby,eclipse,netbeans,Java,Ruby On Rails,Ruby,Eclipse,Netbeans,是否可以以与Java应用程序类似的方式调试Rails应用程序—设置断点并单步执行代码 这方面最好的工具是什么 我有一个混合的Java/RubyonRails应用程序,可以在Eclipse或Netbeans中运行 我想在此应用程序中输入一些代码,并尝试找出我遇到的问题的原因 在Eclipse中,如果我在我的blog\u控制器中设置一个断点,然后选择“Debug”按钮,它似乎使用ruby Debug idegem来执行代码,但我得到了这个毫无帮助的输出,并且没有进入任何源的选项: Fast Debu

是否可以以与Java应用程序类似的方式调试Rails应用程序—设置断点并单步执行代码

这方面最好的工具是什么

我有一个混合的Java/RubyonRails应用程序,可以在Eclipse或Netbeans中运行

我想在此应用程序中输入一些代码,并尝试找出我遇到的问题的原因

在Eclipse中,如果我在我的
blog\u控制器
中设置一个断点,然后选择“Debug”按钮,它似乎使用ruby Debug idegem来执行代码,但我得到了这个毫无帮助的输出,并且没有进入任何源的选项:

Fast Debugger (ruby-debug-ide 0.4.5) listens on localhost:56726
    ./war/WEB-INF/app/controllers/blog_controller.rb:1
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/lib/ruby-debug.rb:101:in `debug_load'
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/lib/ruby-debug.rb:101:in `debug_program'
    C:/Ruby18/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.5/bin/rdebug-ide:82
    C:/Ruby18/bin/rdebug-ide:19:in `load'
    C:/Ruby18/bin/rdebug-ide:19
Uncaught exception: uninitialized constant ApplicationController

我不确定我是做错了什么,还是这就是我所能期待的

您可以期待更多。我使用了Aptana版本的Eclipse来调试Rails应用程序,正如您所描述的——设置断点并逐步完成代码

您可能做错了。它看起来好像在调试单个控制器文件,而不是调试Rails应用程序。当我尝试从命令行执行控制器文件时,会收到类似的消息:

C:\workspace\myapp\app\controllers>ruby users_controller.rb
users_controller.rb:1: uninitialized constant ApplicationController (NameError)

在Aptana RadRails中,我选择
Run>Debug As>Ruby应用程序
来调试应用程序

对于vim用户,我强烈建议查看,这与Tim Pope的rails.vim脚本非常吻合


它为您提供了一个方便的
:Rdebugger
命令,允许您设置断点并打开一个拆分窗口以显示变量值。

我使用最多的调试器是gem,它是一个类似gdb的命令行调试器。一旦你学会了一些命令,它就非常快速有效,并为你提供了一些便利的功能,比如能够在你的程序上下文中启动
irb
,并进行动态更改


而且,基于命令行,当您需要在远程服务器上调试时,它非常方便。

如果您知道如何读取错误跟踪,那么rails中的Debuggin很简单!!但是,如果您需要在运行时显式地注意这些值,那么您可以使用rails断点器。下面是指向如何使用断点器的链接。希望这对您有所帮助


我不能为Eclipse(对我来说从来没有很好的效果)或Aptana(没有尝试过)说话,但根据经验,我可以说两者都可以,并且会做你想做的事情。我认为在这两种情况下,您可能都应该确保ruby debug base和ruby debug ide gems是最新的:RubyMine在完成之前对我来说尤其不起作用。

我建议只为99%的RoR调试设置断点(实际上我只是放在控制台上)-此方法简单,可用于任何ide,所以你永远不需要学习新的调试器是如何工作的。

事实上,我对Aptana也有同样的问题<代码>运行>调试为>Ruby应用程序就是不起作用。我最终通过转到
服务器
选项卡,然后在
调试模式下启动服务器,使调试器工作。之后,设置一些断点并触发相应的操作。希望这能有所帮助。

可能与此无关,但我想在某个地方发布:出现错误:“未定义调试程序的“run\u init\u script”方法:Module”运行rails 2.3.2中的调试程序。sudogem安装了ruby debug,问题就解决了。

有一个Netbeans指南。

调试?在大多数情况下,这只是知道在Ruby(以及扩展到Rails)的情况下应该在哪里查找


本例中的问题是,您的
应用程序控制器
可能仍名为application.rb,应将其重命名为application\u controller.rb。

这是我使用的方法,我非常喜欢它。这里有一个链接,其特点是调试器命令为黑色,易于阅读,而不是浅灰色:-)这是必须知道的!有很多情况下IDE可能不存在!这里有一个指南: