jjzjj

debugging

全部标签

ruby - 确定程序是否在 Debug模式下运行

我使用RubyMine编写和调试我的Ruby2.0代码。它为此目的使用ruby​​-debug-ide。我想知道程序是否在Debug模式下运行。我知道有Ruby$DEBUG全局变量,但据我所知,ruby-debug-ide并没有改变它,因为它没有使用-druby标志。如果我使用Rubymine调试我的文件,执行的命令如下所示:/home/user/.rvm/rubies/ruby-2.0.0-p353/bin/ruby-eat_exit{sleep(1)};$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)/home/user

ruby 调试器直接进入一个 block ?

在以下Ruby代码中:#!/usr/bin/envrubyrequire'debugger'defhelloputs"hello"ifblock_given?yieldendenddefmaindebuggerputs"testbegin..."hellodo#在调试时很常见,我不关心让出block的函数的实现,我只想直接进入block,而不用手动在那里设置断点。在ruby​​-debug19或调试器中是否存在对这种“步入block”的支持? 最佳答案 您是否尝试过对“continue”使用“c”命令?它可以选择使用行号,因此,根据

ruby - 如何将 Ruby Sequel 日志记录设置为 DEBUG 级别?

默认的RubySequel行为是在INFO级别记录所有数据库查询(不同于在DEBUG级别记录的ActiveRecord)。我该如何更改? 最佳答案 以前,使用代理记录器对象相当简单,但是有足够多的人要求我实现它。使用Sequel的gitmaster分支,您现在可以:DB.sql_log_level=:debug这将在记录查询时使用调试方法而不是信息方法。 关于ruby-如何将RubySequel日志记录设置为DEBUG级别?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 如何使用 ruby​​ 调试器获取堆栈跟踪?

我正在尝试在Rails应用程序中使用ruby​​调试器。为了显示堆栈跟踪,我需要在(rdb:1)提示符下键入什么命令?我试过backtrace,但它只列出了最顶层的框架。 最佳答案 http://apidock.com/ruby/Kernel/callercaller(0)#Returnsthestacktrace,omitting0initialentry. 关于ruby-on-rails-如何使用ruby​​调试器获取堆栈跟踪?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - Rails 3.1 和 Ruby 1.9.3p125 : ruby-debug19 still crashes with "Symbol not found: _ruby_threadptr_data_type"

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ruby-debugwithRuby1.9.3?我听说ruby​​1.9.3p125有解决ruby​​-debug19问题的传言,所以根据RVM站点上的说明,我重新安装了1.9.3:$rvmreinstall1.9.3--patchdebug--force-autoconf$ruby-vruby1.9.3p125(2012-02-16revision34643)[x86_64-darwin11.2.0]然后:geminstallruby-debug19将此条目添加到我的Gemfile中:gem'ruby-de

ruby - 如何将 Rubymine IDE 调试器附加到 shell 进程?

我想使用Rubymine的IDE调试器来调试在命令shell中运行的ruby​​进程,因为它是生成的,例如通过“railsconsole”。在运行网络服务器(从Rubymine中)或测试套件(也从Rubymine中运行)时,我已经从调试器中获得了很大的收获。但是,如果该进程不是由Rubymine启动的,我不知道如何附加调试器。我在带有SunJava1.6.0_26、RubyREE1.8.7和最新调试gems的Ubuntu上使用Rubymine3.2.4版本:ruby-debug-base(0.10.4)ruby-debug-ide(0.4.17.beta8)想法?

Ruby 调试器在 STDIN 上失败。获取用户输入

我相信您可以轻松重现该问题。只需使用一个新的RubyMine(7.1)—Mac或Windows版本,Ruby2.2,创建简单的脚本:puts"Hi,i'mgonnabreakyourdebugger:)"user_input=getsputs"Hereshouldbebreakpoint"将断点放在第3行并运行调试session(RubyMine使用ruby-debug-idegem)。当您在RubyMine控制台窗口中键入内容以便脚本在gets中读取时—程序不会吃掉您的输入说:Couldnotexecutestatement:currentstackframeisunavailabl

ruby - 在生产环境中调试 Sinatra 应用程序时遇到问题

我正在使用passenger部署Sinatra应用程序。已部署的应用程序正在运行,但并非完全正常:某些路径运行良好,其他路径只是呈现一个空白页面。我似乎找不到有效路线和无效路线之间的任何重大差异,而且我似乎无法追踪任何错误..处理程序我定义了not_found和错误处理程序如下:not_founddo'404.Bummer!'enderrordo'Nastyerror:'+env['sinatra.error'].nameend这些在我的本地机器上运行良好,无论是在开发还是生产中,但我从来没有看到它们出现在服务器上。Apache日志当我跟踪Apache的access.log并找到其中一

ruby-on-rails - 设计/Omniauth 失败 : How to debug it?

尝试“使用Google登录”后,我在日志中看到此错误:ProcessingbyUsers::OmniauthCallbacksController#failureasHTML我可以看到通过URL(在日志中)发送的来自谷歌的所有数据,包括用户电子邮件和姓名。那么会出什么问题呢?我的回调甚至没有被执行。我只会被重定向到我网站的登录页面。而且我很确定一切都配置正确,因为几周前它运行良好。我不认为我改变了什么。Facebook登录仍然正常。关于如何调试此故障的任何想法?除了那些充满参数和值的长URL之外,日志中没有其他内容。只有INFO消息。上面发布的是唯一一个说失败的。更新我向Control

ruby - 有没有办法在异常时启动 Ruby 调试器?

有什么方法可以在代码抛出异常时启动/aRuby调试器,而无需我像这样包装代码:begin#dosomethingrescuedebuggerend我希望以这样一种方式实现,如果dosomething部分引发异常,调试器将启动。如果不必修改代码来从头开始添加救援block,那就太好了。 最佳答案 Hammertime! 关于ruby-有没有办法在异常时启动Ruby调试器?,我们在StackOverflow上找到一个类似的问题: https://stackover