一:背景 1. 讲故事 这几个月经常被朋友问,为什么不更新这个系列了,哈哈,确实停了好久,主要还是打基础去了,分析 dump 的能力不在于会灵活使用 windbg,而是对底层知识有一个深厚的理解,比如:汇编,C, C++,Win32 Api,虚拟内存,Windows 用户态和内核态,这是我今年看的书给大家分享一下. 前段时候微信上有位朋友说他的程序出现了卡死,所有线程都不工作了,听起来还挺吓人的,截图如下: 接下来直接上 WinDbg 分析吧. 二:Windbg 分析 1. 卡死分析 既然说程序…
一:背景 1.讲故事 前段时间有位朋友微信找到我,说他生产机器上的 Console 服务看起来像是卡死了,也不生成日志,对方也收不到我的httpclient请求,不知道程序出现什么情况了,特来寻求帮助. 哈哈,一般来说卡死的情况在窗体程序(WinForm,WPF) 上特别多,在 Console,WebApi 中相对较少,既然找到我,那就上 WinDbg 分析吧. 二:WinDbg 分析 1. 程序真的卡死了吗 程序之所以能跑的梭梭响,全靠线程帮忙,如果玩不转可能就是线程上出了点什么问题,接下来使…
一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的 web 系统 cpu 运行一段时候后就爆高了,让我帮忙看一下是怎么回事,那就看吧,声明一下,我看 dump 是免费的,主要是锤炼自己技术,没有某软工程师高额的技术分析费. 闲话不多说,我们上 windbg 说话. 二:WinDbg 分析 1. CPU 真的爆高吗 是否真的爆高,我们得自己先验证下,使用 !tp 命令看一下即可. 0:065> !tp CPU utilization: 81% Worker Thread: Total:…
一:背景 1. 讲故事 这个月初,有位朋友wx上找到我,说他的api过一段时间后,就会出现只有请求,没有响应的情况,截图如下: 从朋友的描述中看样子程序是被什么东西卡住了,这种卡死的问题解决起来相对简单,接下来我就用 windbg 给大家分析一下. 二:Windbg 分析 1. Request 请求正在干嘛? 既然朋友说 api 有 request 无 response,那怎么去验证朋友的话对不对呢? 我们都知道 .NET 用 HttpContext 来表示一个请求,言外之意就是可以去抓 Htt…
一:背景 1. 讲故事 前段时间遇到了一个难度比较高的 dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上 WinDBG 说话. 二:WinDbg 分析 1. 为什么会卡死 既然程序卡死,那肯定是被冻住了,所以看下主线程此时在做什么. 0:000:x86> !clrstack OS Thread Id: 0xe20 (0) Child SP IP Call Site 0034d5e8 000bc4b8 [HelperMetho…
一:背景 1. 讲故事 前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 ,再次声明一下,我分析 dump 是免费的,没有某软高额的分析费用,你要问我图什么,图技术的精进. 回到正题,卡死类的问题分析入口点在于主线程此时在做什么,导致它不能处理自己的任务队列的原因是各种各样的,接下来上 windbg 分析一下. 二:WinDbg 分析 1. 主线程此时在做什么 看主线程很简单,直接一个…
问题描述 在最近的后台服务中,新增将某个指令的请求数据落盘保存的功能.在具体实现时,采用成员变量来保存请求消息代理头,在接收响应以及消息管理类释放时进行销毁.测试反馈,该服务偶发崩溃. 问题分析 测试环境上运行的是rel版程序,由于在编译时去掉了调试信息(-g)以及开启O3级别优化,从崩溃dump的堆栈上,只看到程序崩溃的调用栈,函数入参等被优化掉,由于此处没有打日志,只能想其他办法来复现.猜测是重复释放指针导致的崩溃,接下来继续分析. 从rel版本的调用栈上看,只看见最后销毁的函数调用,而在实…
问题描述: iPhone越狱了,之后在Cydia中安装Anywhere虚拟定位,但是打开app提示:后台服务未启动,请重新安装应用后使用. 程序无法正常使用... 解决方法: 打开Cydia-已安装,找到依赖文件“Cydia Substrate”,重新安装,然后再打开Anywhere虚拟定位就不会提示且正常使用. 如果还不能解决你的问题或者有其他有关Anywhere虚拟定位的问题,可加群527720308(Anywhere虚拟定位)一起讨论.…
tomcat服务启动,将不需要手动启动startup.bat,避免cmd窗口的出现,因为隐藏到后台服务执行: 1,下载. 官网:http://tomcat.apache.org/download-70.cgi 找到:Archives, Index of /dist/tomcat/tomcat-7/v7.0.8/bin 下找到带服务配置的tomcat,这种包以平台版本结尾,如:apache-tomcat-7.0.8-windows-x86.zip 2,启动运行服务,bin目录下cmd命令: ser…
技术渣,大家将就着看 首先我们需要一个xml数据保存到数据库,这里我从QQ下面找到一个loclist.xml文件 <CountryRegion Name="中国" Code="1"> <State Name="北京" Code="11"> <City Name="东城" Code="1" /> <City Name="西城"…