我们使用Resque在大量机器上运行Ruby工作。 每隔一段时间,我们都会在Resque工作stream程中看到分段错误。 这很难debugging,因为它们非常less见,而且我们必须运行数以万计的分布式作业来触发崩溃。
理想情况下,我们希望在每次崩溃后捕获回溯和核心文件,并自动将其上传到中央服务器。 换句话说,我们正在寻找诸如Gnome的“Bug Buddy”之类的东西,但是当Ruby解释器转储核心时却完全自动化并且能够捕捉到错误。 (类似的基于GUI的产品包括MacOS X Crash Reporter,Windows错误报告,KDE的Konchi博士和Mozilla的Breakpad,但是我们需要在无人的无人服务器上运行的东西。
到目前为止,最有希望的select似乎是Ubuntu的Apport,它可以拦截服务器进程中的崩溃并将其保存到磁盘。 Apport通常会将崩溃上传到Ubuntu的Launchpad,但它也带有一个Python库。
有没有人有任何build议或使用这些库的第一手经验? 我在这里问,而不是在服务器错误,因为解决scheme可能涉及编程或代码更改。
SIGSEGV处理程序不能退出
x86 GNU汇编奇怪的更改Seg错误
文件描述符消失/无效
Linux上用C语言中的char数组和指针分割错误
C常量全局内存段错误(在地址上存在)
分段错误:在buff> 4M时,在Ubuntu的C程序中堆栈分配
std :: vector保留方法未能分配足够的内存
sigaction信号处理程序中的分段错误
检查出Hoptoad , getExceptional和New Relic 。 所有的SaaS选项都会为你做(New Relic也会跟踪性能)。 如果你想推出自己的,请尝试exception_notification宝石。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。