我们使用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宝石。
总结以上是内存溢出为你收集整理的在Linux上从Ruby和Resque捕获分段错误全部内容,希望文章能够帮你解决在Linux上从Ruby和Resque捕获分段错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)