rubymine 调试 redmine

1、安装debase和ruby-debug-ide包。(注意版本,rubymine 8.0.2下,bitnami下的版本需安装debase -v 0.2.1版本,网上有文章说用debase -v 0.2.2beta6。容易在rubymine启动调试时出现找不到ruby-debug-ide等错误提示)

启动Bitnami\redmine-3.3.0-0\use_redmine.bat后,

cd Bitnami\redmine-3.3.0-0\apps\redmine\htdocs

gem install debase -v 0.2.1

gem install ruby-debug-ide

2、启动redmine单独应用(用thin服务器,参考bitnami安装windows服务使用的脚步文件)

D:\App\Bitnami\redmine-3.3.0-0\apps\redmine\htdocs>rdebug-ide --debug --host 0.0.0.0 --port 1234 --dispatcher-port 4321 -- D:/App/Bitnami/redmine-3.3.0-0/apps/redmine/htdocs/bin/thin -p 3003 -e production -c D:/App/Bitnami/redmine-3.3.0-0/apps/redmine/htdocs -a 127.0.0.1 start

切记:rdebug-ide需要的脚步为文本脚步,这里传递的是bin/thin,如果传递bin/ruby.exe,则会报错,因为不是ruby文本文件,rdebug-ide不知道怎么执行。

3、rubymine设置后连接rdebug-ide。 (注意,连接完成前,rdebug-ide不会允许ruby.exe脚步启动thin服务器,因此连接完成前不能通过web访问)

 

4、连接成功后,rdebug-ide端会自动运行文本格式的脚步,这里运行thin脚步。 (中间rake冲突时,gem install rake -v 11.1.2升级了rake)

 

5、可通过web正常访问。

 

6、在源代码里设置断点可进行调试。 

 

 

 

也可将server端作为rubymine的外部工具:将server启动写入脚步,在rubymine直接调用,脚步内容如下:


CALL "D:/App/Bitnami/REDMIN~1.0-0/scripts/setenv.bat"
cd D:/App/Bitnami/redmine-3.3.0-0/apps/redmine/htdocs
rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 4321 -- D:/App/Bitnami/redmine-3.3.0-0/apps/redmine/htdocs/bin/thin -p 3003 -e production -c D:/App/Bitnami/redmine-3.3.0-0/apps/redmine/htdocs -a 127.0.0.1 start

 选择bitnami的redmine下htdoc里的rubysdk运行时,可以自动启动server,不需要配置外部工具。(根据需要可以配置database.yml)

 

二、调试rake任务

在debug里增加配置,如下图:

注意bundle里勾选:Click Run => Debug => Edit Configurations, select Bundler tab and check the Run the script in context of the bundle

 

参考文章:

1、Rubymine下实现rails远程调试。

2、rdebug-ide脚步实例。

3、windows命令行下输入utf-8编码。

4、ruby字符编码分类详解。

转载于:https://www.cnblogs.com/lustforlife/p/6379972.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 设备驱动中的 I/O模型(二)—— 异步通知和异步I/O

阻塞和非阻塞访问、poll() 函数提供了较多地解决设备访问的机制,但是如果有了异步通知整套机制就更加完善了。 异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类…

判断链表是否有环

链表有环的情况一般是链表的尾指向前面的节点而不是null,如head->node1->node2->node3->node4->tail->node2,该链表存在环。判断环是否存在可以借助两个指针,一个指针每次迭代只移动一步,第二个指针每次迭代移动…

Linux 设备驱动中的 I/O模型(一)—— 阻塞和非阻塞I/O

在前面学习网络编程时,曾经学过I/O模型 Linux 系统应用编程——网络编程(I/O模型),下面学习一下I/O模型在设备驱动中的应用。 回顾一下在Unix/Linux下共有五种I/O模型,分别是: a -- 阻塞I/O b -- 非阻塞I/O…

Python 爬虫进阶六之多进程的用法

python 中的多线程其实并不是真正的多线程,并不能做到充分利用多核 CPU 资源。 如果想要充分利用,在 python 中大部分情况需要使用多进程,那么这个包就叫做 multiprocessing。 借助它,可以轻松完成从单进程到并发执行的转换。mult…

Linux 设备驱动的并发控制

Linux 设备驱动中必须要解决的一个问题是多个进程对共享的资源的并发访问,并发的访问会导致竞态,即使是经验丰富的驱动工程师也常常设计出包含并发问题bug 的驱动程序。 一、基础概念 1、Linux 并发相关基础概念 a -- 并发(concurrency&#…

第三章:多坐标系

第一节:为什么要有多坐标系 当我们使用一个坐标系来描绘整个场景的时候,场景中的任意点都可以用该坐标系描述,此时如果有一只羊一遍摇动着耳朵,一边走,这个时候如果进行坐标的转换会发现异常的麻烦,此时如果…

Linux 设备驱动开发 —— 设备树在platform设备驱动中的使用

关与设备树的概念,我们在Exynos4412 内核移植(六)—— 设备树解析 里面已经学习过,下面看一下设备树在设备驱动开发中起到的作用 Device Tree是一种描述硬件的数据结构,设备树源(Device Tree Source)文件(以…

Android 网络通信框架Volley简介(Google IO 2013)

1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上&…

Linux 设备驱动开发 —— platform设备驱动应用实例解析

前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 —— platform 设备驱动 ,下面将通过一个实例来深入我们的学习。 一、platform 驱动的工作过程 platform模型驱动编程,需要实现platform_device(设备)与platform_driver(驱动&am…

Python爬虫入门四urllib库的高级用法

1.设置headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些 Headers 的属性。 首先,打开我们的浏览器,调试浏览器…

进程上下文、中断上下文及原子上下文

谈论进程上下文 、中断上下文 、 原子上下文之前,有必要讨论下两个概念: a -- 上下文 上下文是从英文context翻译过来,指的是一种环境。相对于进程而言,就是进程执行时的环境; 具体来说就是各个变量和数据,…

Linux 文件系统与设备文件系统 (二)—— sysfs 文件系统与Linux设备模型

提到 sysfs 文件系统 ,必须先需要了解的是Linux设备模型,什么是Linux设备模型呢? 一、Linux 设备模型 1、设备模型概述 从2.6版本开始,Linux开发团队便为内核建立起一个统一的设备模型。在以前的内核中没有独立的数据结构用来让内…

Python爬虫入门七正则表达式

已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式 1.了解正则表达式 正则表达式是用来匹配字符串非常强大的工具,在其…

Linux 文件系统与设备文件系统 (一)—— udev 设备文件系统

一、什么是Linux设备文件系统 首先我们不看定义,定义总是太抽象很难理解,我们先看现象。当我们往开发板上移植了一个新的文件系统之后(假如各种设备驱动也移植好了),启动开发板,我们用串口工具进入开发板&a…

情人节,教大家使用css画出一朵玫瑰花。

情人节到了,给大家来一朵高端的玫瑰花。 在网上看到的一个canvas实现的玫瑰花,效果很好,但是代码被压缩过,也没有注释,看的云里雾里的。 今天我教大脚用CSS来实现一朵玫瑰花。 先看效果 首先我们画出一个花瓣 1、画出一…

Linux 字符设备驱动开发基础(六)—— VFS 虚拟文件系统解析

一、VFS 虚拟文件系统基础概念 Linux 允许众多不同的文件系统共存,并支持跨文件系统的文件操作,这是因为有虚拟文件系统的存在。虚拟文件系统,即VFS(Virtual File System)是 Linux 内核中的一个软件抽象层。它通过一些…

vim使用—实现程序的自动补齐(C语言)

使用过Source Insight的人一定对它的自动补全功能印象深刻,在很多的集成开发环境中,也都支持自动补全。vim做为一个出色的编辑器,这样的功能当然少不了。至于如何实现程序自动补全,网上教程很多。这里,我将自己配置过程…

[C#]Attribute特性(3)——AttributeUsage特性和特性标识符

相关文章 [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用AttributeUsage特性来定义您想怎样使用这些特性。AttributeUsage特性采用如下的调用惯例: 1 [Attri…

Linux 命令 ——less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less …

android闹钟实现原理

闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽) 我们来看看新建闹钟到闹钟响铃的步骤: 1、新建一个闹钟: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22…