how to debug ruby:

1. 第一种方法,直接使用ruby内建的debug在命令行调试,这个个gdb或者pdb的命令差不多。

ruby -r debug yourubyfile.rb

2. 在eclipse中debug ruby

2.1 使用内建的ruby debugger,在上图中选择"Ruby Build-In Debugger"

2.2 使用Fast Ruby Debugger(ruby-debug),但是一般的ruby都没有ruby-debug包,所有需要自己安装。

但是1.8,1.9和2.0的安装都不一样。

如果你使用的是1.8


gem install ruby-debug-base
gem install ruby-debug
gem install ruby-debug-ide


如果你使用的是1.9


gem install ruby-debug-base19
gem install ruby-debug19

gem install ruby-debug-ide19

2.3 使用ActiveState,我没有使用过。

NOTE:

1. 现在ruby-debug还不支持 ruby 2.0

2. 有时,远程安装不上或者很长时间没有反映,你可以自己将它们下载到本地,使用--local安装

例如: ruby 1.8

ruby-debug-base-0.10.4.gem

    linecache-0.46.gem #这里是依赖关系

        bx-require-relative-0.0.9.gem

ruby-debug-0.10.4.gem

    columnize-0.3.6.gem

ruby-debug-ide-0.4.18.gem

    rake-10.1.0.gem

        minitest-5.0.7.gem

        

从rubygems.org将上面的八个gem包下载下来,放到同一个目录,然后使用下面的命令安装


gem install --local ruby-debug-base-0.10.4.gem
gem install --local ruby-debug-0.10.4.gem
gem install --local ruby-debug-ide-0.4.18.gem


3. ruby 1.8里面没有保护gem,所有需要我们自己安装

download it from rubygems.org, extract it,

ruby setup.rb

4. 如果使用gem时,提示说找不到ruby.h文件,说明你安装的ruby没有安装对于的头文件,

你可以自己从 https://ftp.ruby-lang.org/pub/rub下载source包,自己编译和安装。

安装步骤为:

./configure
make
make check
make install

如果你想删除安装的文件,可以在ruby的source目录下:

cat .installed.list | xargs rm -rf

如何debug ruby的更多相关文章

  1. programming ruby

    ri #rdoc reader attr_reader attr_writer @@xx 类变量都是私有的 def 类名.xx end 类方法 [1,3,5,7].inject(0){|sum,e| ...

  2. Set up ruby debugging environment

    Today I finally got ruby debugging working in Eclipse. Below are the major setup steps involved, as ...

  3. Multi-Language IDE for Professional Developers (Komodo)

    Komodo is the professional IDE for major web languages, including Python, PHP, Ruby, Perl, HTML, CSS ...

  4. jmeter sampler maven项目排错记

    eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...

  5. 6-9 😢 5小时的debug: 从rails 命令运行超慢开始->删除rails->删除ruby->删除rvm->安装上rvm->安装上ruby

    上午,莫名其妙的rails app不能用了,rails -v一查发现不存在.ruby -v发现是2.0的版本.很着急上火,因为很少使用过rvm这个ruby版本控制器.所以照官网文档.从新安装ruby, ...

  6. 2016年最新mac下vscode配置golang开发环境支持debug

    网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来. mac最好装下xcode,好像有依赖关系安装Homebrew打开终端窗口, 粘贴脚本执行/usr/bin/ru ...

  7. SASS的安装及使用(前提:安装Ruby)

    本文仅适用于Windows系统. 一.安装Ruby Sass是用Ruby语言写的,但是两者的语法没有关系,所以学 Sass 不用学 Ruby,只是必须先安装Ruby,然后再安装Sass. Linux和 ...

  8. ruby注意点

    1.强类型,即不会自动进行类型转换,而C/C++为弱类型. # Ruby i = 1 puts "Value is " + i # TypeError: can't convert ...

  9. ruby Errors & Exceptions

    When you first started coding, errors were probably the last thing you wanted to see. After all, it’ ...

随机推荐

  1. Android调整TimePicker和DatePicker大小

    最近写了个app,里面要将DatePicker和TimePicker并列显示.但是,Android内部把DatePicker和 TimePicker大小固定了,导致4.5寸手机屏幕一行只能显示出一个, ...

  2. 浅尝key-value数据库(二)——MongoDB的优与劣

    浅尝key-value数据库(二)——MongoDB的优与劣 MongoDB的名字取自英文单词"humongous"的中间五个字母,是一个C++开发的基于分布式文件存储的数据库开源 ...

  3. mysql备份数据库几种方法

    方法一 cmd 到mysql bin文件夹下用 例如以下命令 mysqldump --opt -h192.168.0.156 -uusername -ppassword --skip-lock-tab ...

  4. Swift - .plist文件数据的读取和存储

    每次在Xcode中新建一个iOS项目后,都会自己产生一个.plist文件,里面记录项目的一些配置信息.我们也可以自己创建.plist文件来进行数据的存储和读取. .plist文件其实就是一个XML格式 ...

  5. 开始着手Oracle中Scott用户的管理系统

    准备好长时间,一直想把最近所学用于实践,正好想到Oracle的Scott用户的表设计还算合理,且自己也很熟悉,现将整个系统的架构设定如下: 1.数据库不用说,Oracle 11g 的 Scott 用户 ...

  6. nginx使用自认证的https证书

    生成证书 可以通过以下步骤生成一个简单的证书: 创建服务器私钥: $ openssl genrsa -out server.key 2048 需要输入一系列的信息 创建签名请求的证书(CSR): $ ...

  7. 跨平台编程中的宏定义(__LINE__和__DATE__极其有用)

    要用师兄的计算机算东西,无赖那上面是WINDOWS的系统,为了写出能够跨平台的代码,需要在代码中用到宏来选择编译.一种方法是自己在Makefile里面定义好该平台对应的宏.实际上,编译器基本上都会有一 ...

  8. 在Centos 5.4上安装Mysql5.5.10 (整理以前的工作文档)

    1.     安装环境 1.1.  目的 安装Mysql5.5.10服务,提供公司XXXX测试环境.正式环境也采用该版本的mysql 1.2. 硬件环境 PC机:IntelE5300 内存4G 硬盘5 ...

  9. 基于visual Studio2013解决C语言竞赛题之1060寻找回文数

       题目 解决代码及点评 /* 60. 回文数指左右数字对称的数,如121,2112都是回文数.回文数猜想:取一任意十进制数,将其倒过来,并将这两个数相加, 然后把这个相加的和倒过来再与 ...

  10. [Boost基础]并发编程——asio网络库——定时器deadline_timer

    asio库基于操作系统提供的异步机制,采用前摄器设计模式(Proactor)实现了可移植的异步(或者同步)IO操作,而且并不要求使用多线程和锁定,有些的避免了多线程编程带来的诸多有害副作用(如条件竞争 ...