如何提取 x64 程序那些易失的方法参数

一:背景 1. 讲故事 最近经常遇到有朋友反馈,在 x64 环境下如何提取线程栈中的方法参数,熟悉 x64 调用协定的朋友应该知道,这种协定范围下,方法的前四个参数都是用寄存器传递的,比如rcx,rdx,r8d,r9d 四个寄存器,由于寄存器存值的临时性,它的值容易被后面的逻辑给征用了,那这种情况下

如何获取 C#程序 内核态线程栈

## 一:背景 ### 1. 讲故事 在这么多的案例分析中,往往会发现一些案例是卡死在线程的内核态栈上,但拿过来的dump都是用户态模式下,所以无法看到内核态栈,这就比较麻烦,需要让朋友通过其他方式生成一个蓝屏的dump,这里我们简单汇总下。 ## 二:如何生成内核态dump ### 1. 案例代码

如何洞察 C# 程序的 GDI 句柄泄露

## 一:背景 ### 1. 讲故事 前段时间有位朋友找到我,说他的程序界面操作起来很慢并且卡顿等一些不正常现象,从任务管理器看了下 `GDI句柄` 已经到 1w 了,一时也找不出什么代码中哪里有问题,让我帮忙看下,其实这种问题看内存dump作用不是很大,主要是写脚本很麻烦,这一篇我们就来简单聊聊如

浅聊一下 C#程序的 内存映射文件 玩法

## 一:背景 ### 1. 讲故事 前段时间训练营里有朋友问 `内存映射文件` 是怎么玩的?说实话这东西理论我相信很多朋友都知道,就是将文件映射到进程的虚拟地址,说起来很容易,那如何让大家眼见为实呢?可能会难倒很多人,所以这篇我以自己的认知尝试让大家眼见为实。 ## 二:如何眼见为实 ### 1.

如何洞察 .NET程序 非托管句柄泄露

## 一:背景 ### 1. 讲故事 很多朋友可能会有疑问,C# 是一门托管语言,怎么可能会有非托管句柄泄露呢? 其实一旦 C# 程序与 C++ 语言交互之后,往往就会被后者拖入非托管泥潭,让我们这些调试者被迫探究 `非托管领域问题`。 ## 二:非托管句柄泄露 ### 1. 测试案例 为了方便讲述

用 perfcollect 洞察 Linux 上.NET程序 CPU爆高

## 一:背景 ### 1. 讲故事 如果要分析 Linux上的 .NET程序 CPU 爆高,按以往的个性我肯定是抓个 dump 下来做事后分析,这种分析模式虽然不重但也不轻,还需要一定的底层知识,那有没有傻瓜式的 CPU 爆高分析方式呢? 相信有很多朋友知道 **B站713事件**,最终就是用 p

GO 协程

转载请注明出处: 线程是进程中的一个实体,被系统独立调度和分派的基本单位。线程自己不拥有系统资源,只拥有运行中必不可少的资源。同一进程中的多个线程并发执行,这些线程共享进程所拥有的资源。 协程是一种比线程更加轻量级的存在,重要的是,协程不被操作系统内核管理,协程完全是由程序控制的,不需要手动创建和管

Netty-架构设计及入门程序-3

一、原生 NIO 存在的问题 1、NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。2、需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor

@全体开发者, 华为云1024程序员节精彩开启!

摘要: 创造无限,当“燃”是开发者。 本文分享自华为云社区《@全体开发者, 华为云1024程序员节精彩开启!》,作者: 华为云社区精选 。 创造无限的开发者们 华为云•向云而生 1024程序员节 重磅开启! 12 场技术直播 从端边云到软硬件,学练考一站式赋能 1 行代码秒上云 应用构建实训实战,从

还在头疼每月房贷还款?这个房贷计算机让你一目了然

摘要:通过楼市小程序上贷款计算器等工具人们可以很容易的了解每期还款本金、不同还款方式的利息差异、提前还款节省利息等问题。 本文分享自华为云社区《房贷计算器-从原理、计算到提前还款和可视化》,作者: 蜉蝣与海 。 前言 最近各地楼市震荡不断,2022年12月份以来不少银行纷纷降息,随后更是引发了一波提

python进阶:带你学习实时目标跟踪

摘要:本程序主要实现了python的opencv人工智能视觉模块的目标跟踪功能。 本文分享自华为云社区《python进阶——人工智能实时目标跟踪,这一篇就够用了!》,作者:lqj_本人 。 前言 本程序主要实现了python的opencv人工智能视觉模块的目标跟踪功能。 项目介绍 区域性锁定目标实时

布隆过滤器:后端开发者必学的知识点!

摘要:对于后端程序员来讲,学习和理解布隆过滤器有很大的必要性。来吧,我们一起品味布隆过滤器的设计之美。 本文分享自华为云社区《品味布隆过滤器的设计之美》,作者:勇哥java实战分享。 布隆过滤器是一个精巧而且经典的数据结构。 你可能没想到: RocketMQ、 Hbase 、Cassandra 、L

城市开发者平台:程序员成长和创新的“家园”

摘要:华为云与CSDN携手共同打造城市开发者综合服务平台,不仅能够为广大程序员提供更好的技术支持和服务,也在当地政府的人才政策帮扶下,为开发者的技术创新和人才培养提供更好的工作学习平台,在本地扎根发展。 本文分享自华为云社区《华为云与CSDN携手打造城市开发者综合服务平台》,作者:于邦旭 CSDN高

Python压缩JS文件,重点是 slimit

摘要:Python Web程序员必看系列,学习如何压缩 JS 代码。 本文分享自华为云社区《Python压缩JS文件,PythonWeb程序员必看系列,重点是 slimit》,作者: 梦想橡皮擦 。 本篇博客将学习压缩 JS 代码,首先要学习的模块是 jsmin。 jsmin 库 Python 中的

TooKit助力开发者上云

对于资深程序员而言,IDE是必不可少的,它好比是剑客手中的宝剑,IDE帮助程序员更快更丝滑的去编程,同时插件就是这把剑上的各种Buff,为宝剑赋能,提供更好的升级打怪体验。

零代码搭建一个微信小程序

基于Astro零代码能力,学习体验快速搭建微信小程序。

使用taro+canvas实现微信小程序的图片分享功能

业务场景 二轮充电业务中,用户充电完成后在订单详情页展示订单相关信息,用户点击分享按钮唤起微信小程序分享菜单,将生成的图片海报分享给微信好友或者下载到本地,好友可通过扫描海报中的二维码加群领取优惠。 使用场景及功能:微信小程序 生成海报图片 分享好友 下载图片 使用技术:Taro vue vant

rt下降40%?程序并行优化六步法

并行优化在改善程序接口响应时间和吞吐量指标方面是个利器,所以本次结合前段时间做的一段长链路执行逻辑代码的优化,给大家讲讲程序并行优化的步骤及方法论。

Junit执行器Runner探索之旅

单元测试是每个程序员必备的技能,而Runner是每个单元测试类必有属性。本文通过解读Junit源码,介绍junit中每个执行器的使用方法,让读者在单元测试时,可以灵活的使用Runner执行器。

京东到家小程序-在性能及多端能力的探索实践

为了提高研发效率,经过技术选型采用了taro3+原生混合开发模式,本文主要讲解我们是如何基于taro框架,进行多端能力的探索和性能优化。