一:背景 1. 讲故事 上上周有位朋友找到我,说他的程序CPU和句柄都在不断的增长,无回头趋势,查了好些天也没什么进展,特加wx寻求帮助,截图如下: 看的出来这位朋友也是非常郁闷,出问题还出两个,气人哈,关于 cpu 爆高的问题我准备单独用一篇文章去侦读,这篇就先聊聊 句柄泄漏 的问题,毕竟写了20多篇,也是第一次聊到 handle 泄露,有点意思哈. 2. 什么是句柄 我个人理解的句柄:就是在托管层持有了一个对非托管层资源的引用,有了这个引用,我们就可以强制回收非托管资源,那什么是非托管资源?…
一:背景 1. 讲故事 这篇文章起源于 搬砖队大佬 的精彩文章 WinDBg定位asp.net mvc项目异常崩溃源码位置 ,写的非常好,不过美中不足的是通览全文之后,总觉得有那么一点不过瘾,就是没有把当时抛异常前的参数给找出来...这一篇我就试着弥补这个遗憾. 为了能够让文章行云流水,我就按照自己的侦察思路吧,首先看一下现状:iis上的应用程序崩溃, catch 不到错误,windows日志中只记录了一个 AccessViolationException 异常,如何分析? 说实话我也是第一次在…
一:背景 1. 讲故事 上周四有位朋友加wx咨询他的程序内存存在一定程度的泄漏,并且无法被GC回收,最终机器内存耗尽,很尴尬. 沟通下来,这位朋友能力还是很不错的,也已经做了初步的dump分析,发现了托管堆上有 10w+ 的 byte[] 数组,并占用了大概 1.1G 的内存,在抽取几个 byte[] 的 gcroot 后发现没有引用,接下来就排查不下去了,虽然知道问题可能在 byte[],但苦于找不到证据. 那既然这么信任的找到我,我得要做一个相对全面的输出报告,不能辜负大家的信任哈,还是老规…
一:背景 1. 讲故事 前段时间有位朋友找到我,说他的程序内存占用比较大,寻求如何解决,截图就不发了,分析下来我感觉除了程序本身的问题之外,.NET5 在内存管理方面做的也不够好,所以有必要给大家分享一下. 二:WinDbg 分析 1. 托管还是非托管泄漏 这个还是老规矩 !address -summary 和 !eeheap -gc 组合命令排查一下. 0:000> !address -summary Mapping file section regions... Mapping module…
一:背景 1. 讲故事 这个月中旬,有位朋友加我wx求助他的程序线程占有率很高,寻求如何解决,截图如下: 说实话,和不同行业的程序员聊天还是蛮有意思的,广交朋友,也能扩大自己的圈子,朋友说他因为这个bug还导致项目黄了一个... 哈哈,看样子是客户不买账,验收不了,害...早找到我,这客户不就捞回来啦,这也许就是技术的价值吧! 既然找到我,那就让这个挂死问题彻底消失吧,上windbg说话. 二:Windbg 分析 1. 查看线程情况 既然朋友说线程高,那就从线程入手,用 !t 命令即可. 0:0…
摘要: 对比微服务架构和面向服务的架构(SOA)是一个敏感的话题,常常引起激烈的争论.本文将介绍这些争论的起源,并分析如何以最佳方式解决它们.然后进一步查看这些概念如何与 API 管理概念结合使用,实现更敏捷.更分散化.更具弹性的企业架构. 0 系列目录 聊聊服务架构 深入浅出SOA思想 微服务.SOA 和 API对比与分析 1 简介 在对比微服务架构和面向服务的架构(SOA)时,几乎不可能在它们彼此的关系上达成一致意见.如果应用程序编程接口(API) 再加入混战,就会让理解它们的差异变得更加困…
如今各家云厂商都通过给用户提供API调用的方式来实现一些自动化编排方面的需求.为了解决调用API过程中的通信加密和身份认证问题,大多数云厂商会使用同一套技术方案—基于非对称密钥算法的鉴权密钥对,这里的“密钥对”即API凭证,是云上用户调用云服务API.访问云上资源的唯一身份凭证. 在信息安全领域有一个广为认可的假定,即所有系统都是可攻破的,这里的“攻破”是广义的,可以是外部攻击,也可以是恶意内部威胁(insider threat),当然也可能是无心泄漏导致的潜在威胁.API凭证(在阿里云被称为A…
摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希望你举一反三,轻松应对今后的 API 数据收集与分析任务. 市场 我们尝试的,是他们找到的阿里云市场的一款 API 产品,提供天气数据. 它来自于易源数据,链接在 https://market.aliyun.com/products/57096001/cmapi010812.html?spm=517…
阅读目录 GraphQL是什么 .net下如何运用GraphQL 运用GraphQL调用Github api 结语 一.Graphql是什么 最近在折腾使用Github api做个微信小程序练练手,本篇文章就是在这个过程中记录. 直接先看下GraphQL的语法风格,感受一下: query { repository(owner:"octocat", name:"Hello-World") { id } } 这是最最最简单的一个运用示例,效果上等价于http://gra…
错误详细: Execution failed for task ':app:installDebug'.> com.android.builder.testing.api.DeviceException: Could not create ADB Bridge. ADB location: D:\AppData\Local\Android\sdk\platform-tools\adb.exe * Try:Run with --stacktrace option to get the stack…