一:背景 1. 讲故事 这几个月经常被朋友问,为什么不更新这个系列了,哈哈,确实停了好久,主要还是打基础去了,分析 dump 的能力不在于会灵活使用 windbg,而是对底层知识有一个深厚的理解,比如:汇编,C, C++,Win32 Api,虚拟内存,Windows 用户态和内核态,这是我今年看的书给大家分享一下. 前段时候微信上有位朋友说他的程序出现了卡死,所有线程都不工作了,听起来还挺吓人的,截图如下: 接下来直接上 WinDbg 分析吧. 二:Windbg 分析 1. 卡死分析 既然说程序…
一:背景 1. 讲故事 前段时间遇到了好几起关于窗体程序的 进程加载锁 引发的 程序卡死 和 线程暴涨 问题,这种 dump 分析难度较大,主要涉及到 Windows操作系统 和 C++ 的基础知识,所以有必要简单整理和大家分享一下,上 windbg 说话. 二:WinDbg 分析 1. 主线程此时在做什么 窗体程序的卡死,入口分析点在 主线程 上,使用 ~0s; k 命令即可. 0:000> ~0s; k ntdll!NtWaitForSingleObject+0x14: 00007ffc`6…
一:背景 1.讲故事 前段时间有位朋友微信找到我,说他生产机器上的 Console 服务看起来像是卡死了,也不生成日志,对方也收不到我的httpclient请求,不知道程序出现什么情况了,特来寻求帮助. 哈哈,一般来说卡死的情况在窗体程序(WinForm,WPF) 上特别多,在 Console,WebApi 中相对较少,既然找到我,那就上 WinDbg 分析吧. 二:WinDbg 分析 1. 程序真的卡死了吗 程序之所以能跑的梭梭响,全靠线程帮忙,如果玩不转可能就是线程上出了点什么问题,接下来使…
一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简单的,也有非常复杂的,因为大多情况下都是非托管层面出现的各种故障,非常考验对 C, C++, Win32 API 以及 汇编 的理解,所以能不能解决看运气吧, 不管怎么说,先上 WinDbg. 二:WinDbg分析 1. 查找崩溃点 WinDbg 非常牛的地方在于它拥有一个自动化崩溃分析命令 !an…
一:背景 1. 讲故事 前段时间协助训练营里的一位朋友分析了一个程序卡死的问题,回过头来看这个案例比较经典,这篇稍微整理一下供后来者少踩坑吧. 二:WinDbg 分析 1. 为什么会卡死 因为是窗体程序,理所当然就是看主线程此时正在做什么? 可以用 ~0s ; k 看一下便知. 0:000> k # ChildEBP RetAddr 00 00aff168 75e3bb0a win32u!NtUserPeekMessage+0xc 01 00aff168 75e3ba7e USER32!_Pee…
前段时间网上找安卓虚拟定位的软件,找了很久,大部分都是多开修改APP,或者是不可用的,最后在KUAN找到一个作者Lerist做的虚拟定位软件 Fake Location ,配合作者本人的一键解锁system分区软件Syslock,开启后手机整个被修改了定位,具体要使用的软件还请大佬们自己测试.本人手机小米MIX2S最新开发版系统亲测可用.虚拟定位可以免费使用,需要ROOT:专业版无需ROOT,而且有很多功能. 下面会上链接和介绍,或者直接去KUAN搜索软件名,作者名都可以找到这两个APP.下面先…
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业-软件案例分析 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发过程的心得掌握团队协作的技巧做出一个优秀的.持久的.具有实际意义的产品 这个作业在哪个具体方面帮助我实现目标 尝试着分析一个软件学会规划分析软件的步骤和设计衡量方式 教学班级 006 简介 本文主要介绍邹欣老师团队的一项OCR识别表单的开源工作,并与同类型的轻量级OCR文本识别软件进行对比测试和分析…
问题:某业务系统在运行一段时间后,某个API一定概率偶现Connection reset现象. 问题定位: 首先想到的是要本地复现出这个问题,但一直复现不出来. 1.根据线上问题相关日志判断应该是有部分丢包情况.可能是系统参数的设置问题,如果在  net.ipv4.tcp_tw_recycle .net.ipv4.tcp_timestamps 均设置为1的情况下,可能会因为timestamps时间戳校验导致部分丢包. 2.查询了线上配置,lvs.引擎集群的系统参数配置,均是net.ipv4.tc…
背景:记一次常规的数据访问的时间分析(插入操作) 1. TCP三次握手 SYN ---> <--- SYN,ACK ACK ---> 花费时间: 386.718-385.784=0.934ms 2. 正常的消息交互 2.1. 服务器主动校验 <--- ServerGreeting LoginRequest ---> <--- ACK <--- Response 花费时间: 390.620-387.558=3.062ms 2.2 常规的请求响应 RequestQue…
海外落地中的困境 目前面临主要的问题是"人",仓储系统主要辅助仓储人员进行生产,所以人变了其实一切就都已经变了,系统在海外面临最大的问题就是人变了. 这套软件是在国内的运营体系下,用国内运营兄弟的设计一点一点打造出来的,虽有人员更替但运营理念和操作经验却被固化在生产环境中代代相传了下来.到国外后,有一些运营的兄弟过去做指导,但是毕竟只是少数人,由国内的人员过去覆盖的岗位只覆盖到大的运营管理层,到仓经理就已经是外籍人员了,更不要说下面的各种主管和操作员了. 对他们来说库房生产本来就…