一:背景 1. 讲故事 前段时间收到了一个朋友的求助,说他的ERP网站系统会出现偶发性崩溃,找了好久也没找到是什么原因,让我帮忙看下,其实崩溃好说,用 procdump 自动抓一个就好,拿到 dump 之后,接下来就是一顿分析了. 二:WinDbg 分析 1. 是什么导致的崩溃 windbg 有一个自动化的分析命令 !analyze -v 可以帮我们提前预诊一下,就好像进医院先在问询台那里过一下. 0:019> !analyze -v CONTEXT: (.ecxr) eax=14c9cd00…
一:背景 1.讲故事 前段时间有位朋友找到我,说他的程序在客户的机器上跑着跑着会出现偶发卡死,然后就崩掉了,但在本地怎么也没复现,dump也抓到了,让我帮忙看下到底怎么回事,其实崩溃类的dump也有简单的,也有非常复杂的,因为大多情况下都是非托管层面出现的各种故障,非常考验对 C, C++, Win32 API 以及 汇编 的理解,所以能不能解决看运气吧, 不管怎么说,先上 WinDbg. 二:WinDbg分析 1. 查找崩溃点 WinDbg 非常牛的地方在于它拥有一个自动化崩溃分析命令 !an…
一:背景 1. 讲故事 最近收到了两起程序崩溃的dump,查了下都是经典的 double free 造成的,蛮有意思,这里就抽一篇出来分享一下经验供后面的学习者避坑吧. 二:WinDbg 分析 1. 崩溃点在哪里 windbg 带了一个自动化分析命令 !analyze -v 可以帮助我们找到崩溃时的程序指令地址以及崩溃的代码,这对我们分析问题非常有帮助. 0:090> !analyze -v ****************************************************…
一:背景 1.讲故事 前几天有位朋友找到我,说他的程序出现了偶发性崩溃,已经抓到了dump文件,Windows事件日志显示的崩溃点在 clr.dll 中,让我帮忙看下是怎么回事,那到底怎么回事呢? 上 WinDbg 说话. 二:WinDbg 分析 1. 崩溃点在哪里 如果是托管代码引发的崩溃,在线程列表上会有一个异常信息,可以用 !t 来验证下. 0:000> !t ThreadCount: 7 UnstartedThread: 0 BackgroundThread: 6 PendingThre…
一:背景 1. 讲故事 前段时间协助训练营里的一位朋友分析了一个程序卡死的问题,回过头来看这个案例比较经典,这篇稍微整理一下供后来者少踩坑吧. 二:WinDbg 分析 1. 为什么会卡死 因为是窗体程序,理所当然就是看主线程此时正在做什么? 可以用 ~0s ; k 看一下便知. 0:000> k # ChildEBP RetAddr 00 00aff168 75e3bb0a win32u!NtUserPeekMessage+0xc 01 00aff168 75e3ba7e USER32!_Pee…
最近琢磨规划CAD数据转换入库GIS方面的技术问题,看过一些前辈的文章/文献,对于使用FME WorkBench方面,有了一些了解,往往直接转换数据丢失比较严重,而且GIS对图形属性和空间拓扑比较严格,想着转换加个质量检测过程应该有利于数据交互.本来写成“发表论文”的形式,不发论文了直接贴出来. 一.引言 城市规划一般都是以CAD进行图形设计的,包括总规.控规.分规.修详.红线等内容,每个部分又可以保护多个细分的图层.随着目前城市规划应用深入展开,必须考虑到GIS空间分析的功能性,GIS对于城市…
一. Sonar简介 sonarqube系统是一个代码质量检测工具 由以下四个组件组成(https://docs.sonarqube.org/display/SONAR/Architecture+and+Integration) 1>一个sonarqube服务器 包含三个子进程(web服务(界面管理),搜索服务 计算引擎服务(写入数据库)) 2>一个sonarqube数据库 配置sonarqube服务 3>多个sonarqube插件 位于解压目录 extensions\plugins目录…
BCTC是Banking Card Test Center的缩写. 银行卡检测中心(下称中心)经中国人民银行总行批准成立于1998年4月,作为一个独立的第三方专业技术检测机构,其主要职责是按照国际.国家和金融行业有关技术质量标准,根据中国 人民银行的授权承担我国银行卡及其受理终端机具等产品的检测,为我国银行卡“联网通用”和“交易安全”提供专业技术检测服务,积极推动我国银行卡产业健康有序快速发展. 金融领域 中心面向金融行业提供银行卡及受理终端机具等测试.银行卡产品安全测试.银行卡账户信息安全扫描…
1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> Analyze with SonarLint 或者选中文件或目录,点击菜单栏 Analyze --> Analyze with SonarLint 我们还可以禁用某些规则 如果需要同步自定义的规则时,可以绑定到SonarQube 查看检测的结果 对于代码中的警告我们不能视而不见 有了代码质量检测工具以后…
本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验. 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈.这种方式问题是: 事后发现,负面影响已经发生. 关注的只是没这么差.eg. 监控阈值为 500ms ,那么一条可优化为 20ms 而平均耗时只有 490ms 的 sql 就被忽略了. 能否在上线前就进行SQLite使用质量的监控?于是我们尝试开发了一个工具: SQLiteLint .虽然名带 "lint " ,…