GDB调试Segment Fault的线上http进程的方法

有些问题只有在大并发访问量的线上机器上才能体现出来,测试机没法重现。

我们可以使用GDB来解决这个问题。

首先在命令行启动GDB

GDB

然后输入

attach http进程id

如果需要设置断电的话,可以先执行stop,然后设置断电

然后 输入 c 或者 continue 让这个进行继续提供服务,如果这个进程发生了Segfault错误,我们可以通过 bt 等跟踪命令,来查看问题出在哪里

时间: 2024-10-24 14:13:09

GDB调试Segment Fault的线上http进程的方法的相关文章

点批量移动到线上[1] Toolbox解决方法

点批量移动到线上,如下:左图效果变为右图效果: Analysis Tools工具箱下的Near方法: 点与线做Near后,如下会在point属性表中增加两个字段,分别是NEAR_X和NEAR_Y: 执行后,打开point属性表: 导出dbf表: 添加XY: 结果如下:

App线上推广的笨方法——从0到100万的质变

线上推广APP,有一些笨办法,经常被人忽视,但确是一些成本低.效果好的方法,我们今天就来讲讲这些线上推广APP的笨办法.比如说论坛发贴, QQ群聊,拉注册,比较辛苦,你拉来一个用户注册我们的网站,使用我们的APP,这是比较慢的方法.还有就是社交分享,比如说分享到微博.人人网.微信等等,这些都是App推广中的比较笨的方法. 还有一些快的方法,比如说投放电视广告,比如说上<天天向上>,卫视.汽车.公交车上面的广告.地铁上面的广告,明星代言.事件营销.另外就是疯狂砸钱,像滴滴打车一样.当然快的方法还

tomcat 远程debug配置,教你远程调试代码,解决线上故障

IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=xxx.xxx.xx.xx:60222,suspend=n,server=y" 说明:address为tomcat服务器ip地址,这里必须填上(如果是局域网ip,就填局域网ip,如果不填ip,可能启动会用12

redis线上问题及解决方法

Redis内存配置大小要求 配置redis时,内存不宜超过机器总内存的50%,否则写RDB文件时会导致机器总内存不足,从而进行IO等待,使redis访问速度骤降 maxmemory 12gb 设置redis总内存为机器总内存的50%,且当redis进程占用内存超过机器内存的40%时进行报警,此时需要迁移数据 Redis数据较大时,主从同步失败 当redis数据较大时,RDB文件有好几个G,第一次主从同步时会传输整个RDB文件并加载到内存中,数据较大时会导致slave还没同步完,已经超时.此时主从

使用 GDB 调试多进程程序

GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较. 3 评论 田 强 ([email protected]), 软件工程师, IBM中国软件开发中心 2007 年 7 月 30 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大.对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统: 进程

线上问题排查的四类方法

最正统的方法 日志 这是排查问题的最常用的方法,需要预估自己每日日志量和需要存储的日志时间.申请磁盘空间时一般会留35%的冗余以备突发流量. 一般需要打日志的有:每个对外提供方法的入口和出口,调用第三方的调用前和调用后.打印内容主要包括入参和出参.https://github.com/xiexiaojing/concise-logger 我在简明日志规范里定义:几种常用的类里用切面的形式注入日志. 监控 传统的方法如果JVM出现gc等问题需要先打开gc日志,这会牺牲一些效率.但是现在业界已经普遍

【MySQL 线上 BUG 分析】之 多表同字段异常:Column ‘xxx’ in field list is ambiguous

一.生产出错! 今天早上11点左右,我在工作休息之余,撸了一下猫.突然,工作群响了,老大在里面说:APP出错了! 妈啊,这太吓人了,因为只是说了出错,但是没说错误的信息.所以我赶紧到APP上看看. 这果然是出错了,而且还是简单而粗暴的500,太吓人了. 二.本地赶紧调试起来! 既然线上出错了,我们又不能直接进行调试,那当然得马上在本地搞起来了! 1.代码是否有错? 立马启动本地的项目,访问对应的接口,看看是不是代码哪里出错了. 好了,本地的代码和 SQL 都是没错的! 2.SQL 是否有错? 那

JVM 线上故障排查基本操作

# 前言 对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的.各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题.楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢? 首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现. 今天的文章,就如我们的题目一样,讲的是基本操作,也就是一些排查线上问题的基本方法.为什么这么说呢?因为线上问题千奇百怪,就算是身经百战的专家也会遇到棘手的问题,因此不可能在一篇文章

Linux线上安全操作手册

背景为了保证生产环境的持续.稳定.高效地运转,并且使新同学更快的掌握线上操作的基本方法,本文从禁忌,强制点出发,整理出"操作手册",并加入一些平时遇到的问题,总结成操作条款.如有违反,请自行认领各类惩罚吧. 线上变更操作条款01:禁止流量高峰进行影响cache的升级 内容:对影响cache的升级操作禁止在流量高峰进行. 正确:应该在服务流量低峰期进行上线或操作. 说明:减少上线或操作对用户的影响,在异常时候减少损失.条款02:禁止程序线上"裸奔" 内容:禁止程序在线