很喜欢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的更多相关文章

  1. PEACHPIE 0.9.11 版本发布,可以上生产了

    PeachPie在官方博客(https://www.peachpie.io/2018/10/release-0911-visual-studio.html)发布了PeachPie的0.9.11版本 - ...

  2. rails rake 版本问题

    rails rake 版本问题 通常情况下,如果我们电脑上同时装了不同版本的rake时,运行rake命令时会出错,如: rake db:migrate rake aborted! You have a ...

  3. 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)

    不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...

  4. 微信小程序0.11.122100版本新功能解析

    微信小程序0.11.122100版本新功能解析   新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...

  5. 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题

    适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCAD2013却装不上的情况 如图1所示. ...

  6. 错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法

    错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法 java.lang.UnsupportedClassVersionError: org/ap ...

  7. OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系

    OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...

  8. xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)

    xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题) 前两天为了适配 iOS10 的系统 我将xcode 7.3 升级到了 xcode 8.0 但是 ...

  9. Release 版本和 Debug 版本

    什么是 Release 版本.Debug 版本? bug-缺陷,程序故障.而debug指的是排除缺陷,显然这个模式是面向开发者的. 而release是满足发布所用. Debug 和 Release,在 ...

随机推荐

  1. windows平台下杀死指定端口的进程(转载)

    在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议    本地地址                     外部地址              ...

  2. C#委托的简单剖析

    为什么在Button1的Click事件发生之后,button1_Click方法就会被调用呢? 实际上,在我们双击Button1的时候,IDE自动的添加了一段代码,该段代码位于“Form1.Design ...

  3. linq中的cast<T>()及OfType<T>()

    DataTable dt=...........//获取从数据库中取出的数据(假设只有一条记录) //Cast<T>()用来将非泛型的序列转换为泛型的序列 DataRow row=dt.R ...

  4. 列求key出现的频率

    1 cat mc.log | grep LOGIN_GET | awk '{print $9}' | sort | uniq -c

  5. Android Log工具类

    import java.text.SimpleDateFormat; import java.util.Date; import android.util.Log; public class LogU ...

  6. 为steghide实现字典破解功能

    steghide是一个隐写术软件,可以在图片.音频等文件里隐藏数据. 鉴于原始的steghide在解密数据时不能选择字典文件破解,于是本人就用python简单地为其实现字典破解功能. -------- ...

  7. vs2008 edit spin 十六进制实现

    由于做的东西中涉及到一个控件,查了一下叫spin box,但是,spin box控件只在对话框里面才能使用,而且比较麻烦,更何况还要用十六进制,查到就有可多edit+spin来做,后来找到一个样例着手 ...

  8. Linux 用户信息,组信息,密码信息!

    1: 用户信息保存在  /etc/passwd 文件下 2: 密码信息保存在 /etc/shadow 3: 组相关的信息 /etc/group

  9. 浅谈qt 布局器

    在一个颜值当道的今天,无论买衣服,买车还是追星,颜值的高低已经变成了大家最看重的(不管男性女性都一样,千万别和我说你不是):而对于程序猿来说,开发一款软件,不再只注重逻辑和稳定性,美观和用户友好性也是 ...

  10. ubuntu openstack

    https://wiki.ubuntu.com/ServerTeam/CloudArchive/ sudo add-apt-repository cloud-archive:junoLong Term ...