在RubyMine中设置Rails调试

时间:2015-09-07 10:28:03

标签: ruby-on-rails debugging rubymine rubymine-7

我真的希望有人可以帮忙解决这个问题,因为它让我很生气。

我正在尝试在Ubuntu上使用RubyMine进行调试并且根本没有运气。我花了几个小时谷歌搜索和阅读文章,尝试不同的事情,没有快乐。

当我在调试模式下运行时发生以下消息:

Fast Debugger (ruby-debug-ide 0.6.0, debase 0.2.1, file filtering is supported) listens on 127.0.0.1:56580

然后我得到一个加载栏,说调试器等待10秒。然后我得到:

Process finished with exit code 143

我不知道该尝试什么,我一直在努力寻找一篇关于如何从头开始配置的好文章,我只是从RubyMine那里得到了很多相当含糊的文章。

是否有任何特定的宝石最好用于(甚至是必需的)调试。

我正在使用Rails 4和Ruby 2.2.1。我是Ruby的新手,这使得这个过程变得更加困难,但更重要的是我让它工作!!

非常感谢 大卫

修改

这是我的gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.4'
# Use postgresql as the database for Active Record
gem 'pg'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# add user authentication
gem 'devise'
gem 'omniauth'
gem 'omniauth-google-oauth2'

# add geo location
gem 'geokit'
gem 'geokit-rails', github: 'geokit/geokit-rails'

# add friendly id for sef URLS
gem 'friendly_id'

# add image uploader
gem 'carrierwave'
gem 'rmagick'

# for sass grid system
gem 'sass-rails'
gem 'compass-rails', git: 'https://github.com/Compass/compass-rails', branch: 'master'
gem 'susy'

# require js
gem 'requirejs-rails'

# load pagination module
gem 'will_paginate'

# allow adding of meta tags and descriptions to pages
gem 'meta-tags'

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
 # gem 'byebug'
  gem 'rspec-rails'
  gem 'factory_girl_rails'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end

group :test do
  gem 'faker'
  gem 'capybara'
  gem 'guard-rspec'
  gem 'launchy'
end

我尝试手动添加调试器gem,rails-debugger-ui但没有任何欢乐,所以我暂时把它们拿出来。我确实在那里有byebug,我已经注释掉了因为RubyMine抱怨我第一次尝试使用它进行调试而且我还没有真正使用它,这只是我从我开始的教程中添加的东西但是还没有完成了整理。

非常感谢你的帮助。

修改2

我通过RubyMine创建了一个新项目(在我通过命令行完成之前)并完成了一个简单的测试循环,通过一个控制器中的数字循环,它已经工作了!这一次,我第一次运行项目时说它需要安装一些我说是的东西,它之前没有用我现有的项目做这个,但问题是我不知道它做了什么。我已经针对这两个项目运行了一个捆绑显示,看它是否添加了任何宝石,但我看不到任何明显的东西。 :

link to a diff, on the right is the test that does work, on the left is the one that doesnt

有什么想法尝试?我不愿意开始一个新项目,如果我可以帮助它,就把所有东西都搬进去。

再次感谢

编辑3

非常感谢所有的帮助。最后我决定将所有内容复制到我通过RubyMine本身创建的新项目中,而不是通过终端来解决它。

编辑4

我想我终于把一切都搞定了。在一遍又一遍地重新创建新项目并逐行复制我的代码后,我能找到的唯一区别就是我现在正在从一个没有被监视的文件夹中运行它通过Dropbox,我不知道这会如何或为何影响它,但这是我能找到的唯一解释。

非常感谢我收到的所有帮助

2 个答案:

答案 0 :(得分:1)

比现在更经常,RubyMine调试器将能够在第一次运行时自行配置。

但是,建议在运行RubyMine调试器之前手动删除控制台调试器(prybyebug等)。

通常您不必自己添加任何额外配置。可以找到实际需要额外配置的特殊情况here

如果清洁后gemfile RubyMine仍无法正常工作,请尝试强制删除项目中未使用的宝石。

`bundle clean --force`
`bundle install`

作为最后的手段,创建一个新项目并尝试其中的调试器,以确保您的环境没有任何有趣的事情发生。如果这样可以正常工作,请尝试逐步复制gemfile内容以及稍后的代码。

答案 1 :(得分:1)

我有同样的问题。检查项目的路径是否包含非字母数字字符。

就我而言,该项目位于 Me&amp; Myself 文件夹中。将其更改为 MeAndMyself 后,它按预期工作。

我仍在努力弄清楚报告问题的确切罪魁祸首。