Ruby2.0后版本的debug工具: byebug
https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md
安装:
gem install byebug
使用:
Rails:
直接增加byebug。然后运行bin/rails s, 一旦执行到byebug这行命令,就会收到一个prompt提示。
Ruby:
如果想要debug一个ruby script无需编辑它, 直接在命令行上引用byebug命令:
byebug myscript.rb
使用命令
continue, next ,
step:
当=>指向一个def关键字时,使用step可以进入这个方法内部。
restart n:
n是行号,即重新从第n行执行命令。
其他例子的使用见上面的链接guide.
例子:
# byebug.rb
# The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
#
def triangle(n)
tri = .upto(n) { |i| tri += i } tri
end t = triangle()
puts t
#进入命令行:
> byebug xxx.rb
当=>指向一个def关键字时,使用step可以进入这个方法内部。
> (byebug)step
[, ] in /Users/byebug.rb
: #
: # The n'th triangle number: triangle(n) = n*(n+1)/2 = 1 + 2 + ... + n
: #
: def triangle(n)
=> : tri =
:
: .upto(n) { |i| tri += i }
:
: tri
: end
(byebug)
(byebug) display tri
: tri =
display tri会始终追踪tri变量。打印在命令行上。
linetrace打开路径追踪, basename设置省略path显示,finish 0 执行这行代码并把追踪结果打印出来。
(byebug) display tri
: tri =
(byebug) set linetrace
linetrace is on
(byebug) set basename
basename is on
(byebug) finish
Tracing: byebug.rb: .upto(n) { |i| tri += i }
: tri =
Tracing: byebug.rb: .upto(n) { |i| tri += i }
: tri =
Tracing: byebug.rb: .upto(n) { |i| tri += i }
: tri =
Tracing: byebug.rb: .upto(n) { |i| tri += i }
: tri =
Tracing: byebug.rb: tri
: tri =
Ruby2.0后版本的debug工具: byebug的更多相关文章
- android使用百度地图最新sdk5.0后后代码混淆时,地图无法显示闪退问题
描述:刚开始遇到这个问题我一步一步去排除,最后发现在初始化地图的时候,代码混淆就有问题了, 问题描述:当跳显示地图的页面APP闪退, 解决对比: 1:对于老版本百度sdk:代码混淆时语句: -libr ...
- ruby2.0(rails)以后版本的debug
很喜欢RUBY(RAILS),认识也好久好久了,但是说实话,从来没用ROR写过什么东西,都是小打小闹,做些自娱自乐的东西,碰到什么问题,基本仔细看看,加上几个LOG就找到原因了,从来没想过要DEBUG ...
- xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...
- 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)
问题描述 更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未安装或需更新华为移动服务版本(HMS Core)的手机上,提示安装华为移动服务(HMS Core),点击取消,游戏卡屏.修改 ...
- React-Native到0.44版本后Navigator 不能用的问题
新升级 到0.46版本以后 Navigator 不能使用报错. 'Navigator is deprecated and has been removed from this package. It ...
- 【转帖】sysbench使用教程(包含ubuntu自带的0.4版本、0.5版本和最新的1.0版本)
sysbench使用教程(包含ubuntu自带的0.4版本.0.5版本和最新的1.0版本) 2018年08月10日 09:54:42 cxin917 阅读数 429 版权声明:本文为博主原创文章, ...
- [0] 解决版本冲突-使用SVN主干与分支功能
解决版本冲突-使用SVN主干与分支功能 1 前言 大多数产品开发存在这样一个生命周期:编码.测试.发布,然后不断重复.通常是这样的开发步骤: 1) 开发人员开发完毕某一版本(如版本A)功能后, ...
- SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本
背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供 ...
- 关于Oracle 10.2.0.5 版本应用SCN补丁14121009相关问题
环境:OEL 5.7 + Oracle 10.2.0.5 背景:Oracle发布的两篇关于2019年6月份将自动调整高版本数据库的SCN COMPATIBILITY的MOS文章引起了很多客户的恐慌,尤 ...
随机推荐
- 【POJ - 3262】Protecting the Flowers(贪心)
Protecting the Flowers 直接中文 Descriptions FJ去砍树,然后和平时一样留了 N (2 ≤ N ≤ 100,000)头牛吃草.当他回来的时候,他发现奶牛们正在津津有 ...
- 【神经网络与深度学习】转-caffe安装吐血总结
这周安装了caffe的windows版本和Linux版本,依赖关系太多,如果系统选对了,安装起来很easy,选错了,就会遇见各种坑. 1.操作系统最好使用ubuntu desktop 14.04 64 ...
- 【图像处理】H.264开源解码器评测
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以 ...
- Maven Web 工程
本教程将教您如何在Eclipse中创建 Archetype为 maven-archetype-webapp的Maven项目,也就是web工程. 创建Maven工程 第一步,启动Eclipse,依次打开 ...
- Java基础知识常见面试题汇总第一篇
[Java面试题系列]:Java基础知识常见面试题汇总 第一篇 文中面试题从茫茫网海中精心筛选,如有错误,欢迎指正! 1.前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后 ...
- 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚
一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...
- layui 实现图片上传和预览
[学习笔记] 图片不自动上传并在表单提交时再上传,看代码. 附上表单页面 前台实现 <#--图片名--><input id="fileName" type=&qu ...
- apache2_fastcgi_python
1. 前言 之前有用的是apache2 + python + jon模块下的cgi, fcgi. 该框架搭建的服务器我没有找到能够让python程序持久运行的方法(作为一个服务). 最近看了篇文档, ...
- [js]$.ajax标准写法
$.ajax({ url:"http://www.microsoft.com", //请求的url地址 dataType:"json", ...
- c++ 性能优化策略
c++ 性能优化策略 作者:D_Guco 来源:CSDN 原文:https://blog.csdn.net/D_Guco/article/details/75729259 1 关于继承:不可否认良好的 ...