【发布时间】:2014-02-26 11:21:22
【问题描述】:
我使用 RubyMine 编写和调试我的 Ruby 2.0 代码。它为此目的使用 ruby-debug-ide。我想知道程序是否在调试模式下运行。
我知道有 Ruby $DEBUG 全局变量,但据我了解 ruby-debug-ide 没有更改它,因为它没有使用 -d ruby 标志。
如果我使用 Rubymine 调试我的文件,执行的命令如下所示:
/home/user/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -e at_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/user/.rvm/gems/ruby-2.0.0-p353/gems/ruby-debug-ide-0.4.22/bin/rdebug-ide --disable-int-handler --port 37737 --dispatcher-port 47992 -- /home/user/file.rb
我尝试使用ARGV 或$0 来确定命令行是否包含字符串'rdebug-ide' 但ARGV 是一个空数组而$0 只是'/home/user/file.rb',我怎样才能得到RubyMine 执行的完整命令行?
【问题讨论】:
-
你试过
ENV['debugger_host'].nil? -
ENV['debugger_host'].nil?在这两种情况下都是正确的
标签: ruby ruby-debug