Ann*_*001 1 ruby debugging gdb ruby-on-rails
有人可以想办法找出我们的rails生产服务器挂起的地方吗?它的CPU为99%所以我认为它会在while/for/each循环中丢失.不幸的是我们找不到候选循环.
在开发过程中不会出现问题,我们的测试套件现在具有100%的代码覆盖率.
我们已经通过gdb附加到Ruby了,但是不知道从那里去哪里.有任何想法吗?
Cas*_*per 10
一旦你将gdb附加到繁忙的循环过程,然后rb_backtrace从gdb 调用:
> call rb_backtrace()
Run Code Online (Sandbox Code Playgroud)
输出rb_backtrace将类似于崩溃报告,输出将转到您的日志文件,类似于标准的Ruby错误回溯.
从那里开始,您应该已经向解决方案迈进了一步,因为您将看到Ruby代码中的进程被卡住的位置.
您可以在此处查看更多提示:http:
//isotope11.com/blog/getting-a-ruby-backtrace-from-gnu-debugger
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |