注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

幸福边缘

紫枫

 
 
 

日志

 
 

【转】ruby的调试  

2013-11-07 16:11:41|  分类: 技术相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Ruby调试器编程教程,例子教程,参考手册和代码 - 也没关系一种语言多么容易使用,它通常包含了一些错误,如果它是多长了几行。为了帮助交易与错误,Ruby的标准分配包括一个调试

也没关系一种语言多么容易使用,它通常包含了一些错误,如果它是多长了几行。为了帮助交易与错误,Ruby的标准分配包括一个调试.

为了启动Ruby调试器,加载调试库使用的命令行选项-r调试。调试器之前停止的可执行代码的第一行,并要求输入用户命令.

使用语法:

下面是使用Ruby调试器的使用语法:

$ ruby -r debug filename[, ...]

Ruby调试器命令:

下面是调试程序时,您可以使用完整的命令列表。这是没有必要使用完整的关键字给命令的一部分,在给[...]选项.

SN

Command with Description

1

b[reak] [< file| class>:]< line| method>
Sets breakpoint to some position. Breakpoint is a place where you want to pause program execution for debugging purpose.

2

wat[ch] expression
Sets watchpoints

3

cat[ch] (exception|off)
Sets catchpoint to an exception.

4

b[reak]
Displays breakpoints and watchpoints

5

del[ete] [n]
Deletes breakpoints

6

disp[lay] expression
Displays value of expression

7

undisp[lay] [ n]
Removes display of n

8

c[ont]
Continues execution

9

s[tep] [ n]
Executes next n lines stepping into methods

10

n[ext] [ n]
Executes next n lines stepping over methods

11

w[here]
Displays stack frame

12

f[rame]
Synonym for where

13

l[ist][<-| n- m>]
Displays source lines from n to m

14

up [ n]
Moves up n levels in the stack frame

15

down [ n]
Moves down n levels in the stack frame

16

fin[ish]
Finishes execution of the current method

17

tr[ace] [on|off]
Toggles trace mode on and off

18

q[uit]
Exits debugger

19

v[ar] g[lobal]
Displays global variables

20

v[ar] l[ocal]
Displays local variables

21

v[ar] i[instance] object
Displays instance variables of object

22

v[ar] c[onst] object
Displays constants of object

23

m[ethod] i[instance] object
Displays instance methods of object

24

m[ethod] class| module
Displays instance methods of the class or module

25

th[read] l[ist]
Displays threads

26

th[read] c[ur[rent]]
Displays current thread

27

th[read] n
Stops specified thread

28

th[read] stop >
Synonym for th[read] n

29

th[read] c[ur[rent]] n>
Synonym for th[read] n

30

th[read] resume >
Resumes thread n

31

expression
Evaluates the expression

32

h[elp]
Displays help message

33

everything else
Evaluates.

例子:

考虑下列文件hello.rb需要调试:

#!/usr/bin/env ruby

class Hello

def initialize( hello )

@hello = hello

end

def hello

@hello

end

end

 

salute = Hello.new( "Hello, Mac! - by www.yiibai.com" )

puts salute.hello

这里是一个交互式会话捕获。大胆写在给定的命令:

[root@ruby]# ruby -r debug hello.rb Debug.rb

Emacs support available.

 

hello.rb:3:class Hello

(rdb:1) v l salute => nil

(rdb:1) b 10 Set breakpoint 1 at hello.rb:10

(rdb:1) c Hello, Mac!

[root@ruby]#

  评论这张
 
阅读(1052)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017