ruby2.0(rails)以后版本的debug
很喜欢RUBY(RAILS),认识也好久好久了,但是说实话,从来没用ROR写过什么东西,都是小打小闹,做些自娱自乐的东西,碰到什么问题,基本仔细看看,加上几个LOG就找到原因了,从来没想过要DEBUG
说到DEBUG,就不能不说Visual Studio了,DEBUG简直是好用到死!RUBY在语言舒适度上甩C#10条街,C#在调试上甩RUBY10条街……
不知不觉,RUBY早就跨入了2.0时代,现在网上找了一下,基本关于RUBY的DEBUG的文章,都是对于RUBY 1.8或1.9的,关于2.0的并不多,我也是找了好久,偶然找到debugger这个RUBY的调试器时,看到首页上写着
A fork of ruby-debug(19) that works on 1.9.2 and 1.9.3 and installs easily for rvm/rbenv rubies. ruby >= 2.0 are not supported
真是死的心都有了,还好在最后写了句,2.0的往这
https://github.com/deivid-rodriguez/byebug
就是这个了,这也是我第一次用字符界面DEBUG啊,第二次想死的心都有了……话说回来,至少能用吧
用起来不难,安装好GEM后,在需要下断点的地方,加上一句byebug就行了,程序会在那里断下来,并把源码显示在字符界面上,输入各变量就可以看到值了
还不大会用,记录下几个常用命令
l 显示断点下的源码
s 显示当前在哪一步
v 显示值,有很多子命令,像v l就是显示当前上下文中的局部变量,v g就是全局变量,看一下帮助就知道了
d 下一步
没用到太多功能,具体帮助在这里
https://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md
反正还是用不惯啊,人家NODE.JS也是字符界面,好歹有个浏览器扩展,可以在浏览器上调试,也是一目了然,相当好用,不知道RUBY什么时候也能有好用的Debugger
2015-1-13
刚说想要个浏览器调试,更新rails到4.2.0后,自带了一个网页版的“irb”,当view出现异常时,只要view里面有<%= console %>,就会在异常界面下方,出现一个网页版的irb,方便调试
web console默认只接收127.0.0.1的控制,如果像我这样不在同一台电脑上操作的话,可以在config里加上IP白名单
config.web_console.whitelisted_ips = %w( 127.0.0.1 192.168.0.100 )
具体可以看这里https://github.com/rails/web-console

ruby2.0(rails)以后版本的debug的更多相关文章
- PEACHPIE 0.9.11 版本发布,可以上生产了
PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布了PeachPie的0.9.11版本 - ...
- rails rake 版本问题
rails rake 版本问题 通常情况下,如果我们电脑上同时装了不同版本的rake时,运行rake命令时会出错,如: rake db:migrate rake aborted! You have a ...
- 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)
不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...
- 微信小程序0.11.122100版本新功能解析
微信小程序0.11.122100版本新功能解析 新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...
- 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题
适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCAD2013却装不上的情况 如图1所示. ...
- 错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法
错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法 java.lang.UnsupportedClassVersionError: org/ap ...
- OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系
OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...
- xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...
- Release 版本和 Debug 版本
什么是 Release 版本.Debug 版本? bug-缺陷,程序故障.而debug指的是排除缺陷,显然这个模式是面向开发者的. 而release是满足发布所用. Debug 和 Release,在 ...
随机推荐
- Java通过JDBC链接数据库,数据库中wen
连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8
- 多关键字排序(里面有关于操作符(<<运算符 和 >>运算符 )的重载)
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...
- adb wifi连接手机
1. 默认情况下,ADB是通过USB来进行连接的. 不需要USB线,直接在android设备上安装一个超级终端,在终端里运行以下代码即可: su setprop service.adb.tcp.por ...
- ThinkPHP第二十三天(Category表结构、PHPExcel导入数据函数)
1.category分类表表结构id,name,pid,sort,结合category.class.php类使用. 2.PHPExcel导入数据函数示例 function excel_to_mysql ...
- IOS 物理引擎
来自IOS7 by tutorials 下面是个人的一点翻译总结 1,首先在初始化方法李画一个方块 UIView* square = [[UIView alloc] initWithFrame: ...
- scanf(),gets(),gechar()函数小结
1. 使用scanf()函数从终端输入字符串时,刚开始输入的所有空格不计入当前字符串,以 space,enter,tab键结束当前字符串的输入:最后的space,enter,tab字符会留在输入缓冲区 ...
- 射频识别技术漫谈(28)——基于MF1射频卡的酒店门锁设计
电子门锁是现代星级酒店管理电子化.智能化的重要电子设备.相较于传统的机械锁,基于RFID技术的电子门锁使用方便,易于管理,安全性高,可实现对开锁用户的分优先级自动管理,对房间入住信息实现自动统计与报表 ...
- 夜未央Test1题解
T1 积木游戏 树状数组的一个简单应用,建立一个维护左节点的树状数组和一个维护右节点的树状数组,对于add操作,只要在维护左节点的树状数组l处加1,维护右节点的树状数组r处加 ...
- PHP cURL 应用
对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有 file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情 景,file_get_ ...
- Mysql文件太大导入失败解决办法总结
Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...