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,在 ...
随机推荐
- windows平台下杀死指定端口的进程(转载)
在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议 本地地址 外部地址 ...
- C#委托的简单剖析
为什么在Button1的Click事件发生之后,button1_Click方法就会被调用呢? 实际上,在我们双击Button1的时候,IDE自动的添加了一段代码,该段代码位于“Form1.Design ...
- linq中的cast<T>()及OfType<T>()
DataTable dt=...........//获取从数据库中取出的数据(假设只有一条记录) //Cast<T>()用来将非泛型的序列转换为泛型的序列 DataRow row=dt.R ...
- 列求key出现的频率
1 cat mc.log | grep LOGIN_GET | awk '{print $9}' | sort | uniq -c
- Android Log工具类
import java.text.SimpleDateFormat; import java.util.Date; import android.util.Log; public class LogU ...
- 为steghide实现字典破解功能
steghide是一个隐写术软件,可以在图片.音频等文件里隐藏数据. 鉴于原始的steghide在解密数据时不能选择字典文件破解,于是本人就用python简单地为其实现字典破解功能. -------- ...
- vs2008 edit spin 十六进制实现
由于做的东西中涉及到一个控件,查了一下叫spin box,但是,spin box控件只在对话框里面才能使用,而且比较麻烦,更何况还要用十六进制,查到就有可多edit+spin来做,后来找到一个样例着手 ...
- Linux 用户信息,组信息,密码信息!
1: 用户信息保存在 /etc/passwd 文件下 2: 密码信息保存在 /etc/shadow 3: 组相关的信息 /etc/group
- 浅谈qt 布局器
在一个颜值当道的今天,无论买衣服,买车还是追星,颜值的高低已经变成了大家最看重的(不管男性女性都一样,千万别和我说你不是):而对于程序猿来说,开发一款软件,不再只注重逻辑和稳定性,美观和用户友好性也是 ...
- ubuntu openstack
https://wiki.ubuntu.com/ServerTeam/CloudArchive/ sudo add-apt-repository cloud-archive:junoLong Term ...