我是 Ruby 新手,所以安装了 RadRails、Ruby 1.92 和 ruby-debug-ide19。我有一个非常简单的 ruby 程序,可以打印 hello world。但是当我尝试在代码中放置一个断点并在调试模式下运行时,我得到的只是控制台上的以下行:
Fast Debugger (ruby-debug-ide 0.4.9) listens on :51224
为什么它仍然需要监听端口?我怎样才能让它运行我的程序直到断点?
我是 Ruby 新手,所以安装了 RadRails、Ruby 1.92 和 ruby-debug-ide19。我有一个非常简单的 ruby 程序,可以打印 hello world。但是当我尝试在代码中放置一个断点并在调试模式下运行时,我得到的只是控制台上的以下行:
Fast Debugger (ruby-debug-ide 0.4.9) listens on :51224
为什么它仍然需要监听端口?我怎样才能让它运行我的程序直到断点?
它使用端口在 IDE 和 ruby-debug 进程之间进行通信,ruby-debug-ide 正在打开一个端口并等待 IDE 连接到它,但这必须立即发生。
根据您的说法,调试应该已经开始工作:您可以右键单击并选择切换断点,或双击编辑器的左侧装订线。当您的程序遇到任何启用的断点行时,程序应该暂停,您可以检查变量、堆栈帧、执行任意代码、单步执行或通过您的代码、继续等。
就个人而言,我不打扰 IDE 进行调试。我更喜欢更接近金属... err... 命令行,所以我从命令行使用 ruby-debug19。
rdebug some_file_to_debug
对于基础使用:
b
设置断点n
跳过方法s
步入方法c
遇到断点后继续运行c n
跑到特定的线路然后停止p
显示一个值h
将显示内置帮助irb
使用预先初始化的当前变量进入 IRB,这样你就可以用棍子戳东西,看看它们会做什么。更多文档位于Ruby-Debug 站点。