你知道.NET中的数组在内存中如何布局的吗?

  .NET中的数组在内存中布局是一个复杂的主题,涉及到内存管理、数据结构和性能优化等方面。本文将详细描述.NET中的数组内存布局,包括数组的组织方式、多维数组、数组的物理布局、性能优化以及与值类型和引用类型的关系。  数组的组织方式  在.NET中...

#
Donet
#
DoNet
分享:

.NET8强加密工具有哪些?你知道吗?

  前言  .NET程序由于众所周知的原因,因为它是一个托管中间语言代码,也即是MSIL,天然性的易于被破解。即使是现在的AOT技术,因为通过一个C++的引导程序BootStrap(.Net8的AOT引导程序BootStrap)引导,所以其逆向难度依然是容易级的。了解其加密原理,...

#
Donet
#
DoNet
分享:

.NET Core中生成二维码和识别二维码内容方法

  在.NET Core中生成二维码和识别二维码内容,可以使用ZXing.NET库。ZXing.NET是一个开源的二维码处理库,可以方便地生成和解码二维码。下面是一个示例,演示如何在.NET Core中生成二维码和识别二维码内容。  首先,我们需要在.NET Core项目中添加ZXin...

#
Donet
#
DoNet
分享:

.Net8顶级性能优化:类型转换(图)

  1.前言  .Net8通过各种骚操,把性能提升到了前所未有的高度。超越以往任何版本,也涵盖了后续版本,比如.NET9或许可能没有如此大的性能优化了。本篇来看下它其中的一个优化:类型转换的优化效果。  2.示例  通过类型检查的优化,优化掉某些情况下...

#
Donet
#
DoNet
分享:

记一次 .NET 某工厂无人车调度系统,线程爆高分析(图)

  一:背景  1. 讲故事  前些天有位朋友找到我,说他程序中的线程数爆高,让我帮忙看下怎么回事,这种线程数爆高的情况找问题相对比较容易,就让朋友丢一个dump给我,看看便知。  二:为什么会爆高  1. 查看托管线程  别人说的话不一定是真,得...

#
Donet
#
DoNet
分享:

.NET Core使用SkiaSharp快速生成二维码(图)

  前言  在.NET 6之前我们一直是使用QRCoder来生成二维码(QRCoder是一个非常强大的生成二维码的组件,用到了System.Drawing.Common 包),然后从.NET 6开始,当为非 Windows 操作系统编译引用代码时,平台分析器会发出编译时警告。异常如下:  Syst...

#
Donet
#
DoNet
分享:

.Net GC从空闲列表里面分配对象

  1.前言  空闲列表(free_list)实质上是GC经过垃圾回收之后形成的碎片空间,它的空间可以进行重新分配新的对象。本篇看下它的重新分配过程。  2.概述  当进行一个对象分配的时候,如果是慢速分配(JIT_New)的时候,它会查找空闲列表里面是否有足够的...

#
Donet
#
DoNet
分享:

记一次 .NET 某物流 API 系统 CPU 爆高分析(图)

  一、背景  1. 讲故事  前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下:  看了下是两个相同的程序,既然被打满了那就抓一个 dump 看看到底咋回事。  二、为什么会打满  1. 真的被打满了吗  凡事都要用...

#
Donet
#
DoNet
分享:

.NET程序的 GDI句柄泄露 的再反思(图)

  一:背景  1. 讲故事  上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反馈两个问题:  · GDIView 统计不准怎么办?  · 我...

分享:

.Net官方的MSIL工具,你学会了吗?

  前言  很多人用第三方工具修改(实际上修改了也没用,现代化加密工具是直接hook JIT)MSIL  比如dnspy/ilspy/dotpeek/Reflector 等等,这些工具看似不错,实际上完全不经打,如果把程序集进行虚拟化,这些工具完全无法展示出来。本篇还是来看下比较能...

#
Donet
#
DoNet
分享:

.NET 如何实现ChatGPT的Stream传输(图)

  .NET 如何实现ChatGPT的Stream传输  ChatGPT是如何实现不适用websocket进行一个一个字返回到前端的?  下面我们会介绍一下EventSource。  EventSource  EventSource 接口是 web 内容与服务器发送事件[1]通信的接口。  一个 EventSource 实例...

#
Donet
#
DoNet
分享:

快速上手AForge库:图像处理、视频处理等场景(图)

  一、AForge库简介  AForge是一个.NET平台下的开源计算机视觉和人工智能库,它提供了许多常用的图像处理和视频处理算法、机器学习和神经网络模型,并且具有高效、易用、稳定等特点。AForge由一个包含多个组件模块的类库构成,可以为开发者在图像处理、...

#
Donet
#
DoNet
分享:

PerfView洞察 .NET程序 非托管句柄泄露(图)

  一:背景  1. 讲故事  前几天写了一篇 如何洞察 .NET程序 非托管句柄泄露 的文章,文中使用 WinDbg 的 !htrace 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的方式解决了这个问题,在生产环境中大多数情况下是不能走附加进程的模...

#
Donet
#
DoNet
分享:

开发.NET桌面应用必备,GDI+技术大揭秘

  GDI+(Graphics Device Interface Plus)是一个Microsoft Windows操作系统中的二维图形API,它提供了很多绘制图像和文本的方法和类。这些方法和类可以让开发人员轻松地在Windows应用程序中创建和管理各种视觉元素,如位图、图形、文本等。本文将介绍GD...

#
Donet
#
DoNet
分享:

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

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

#
Donet
#
DoNet
分享:

记一次 .NET 某医院预约平台 内存泄露分析(图)

  一:背景  1. 讲故事  前几天有位朋友找到我,说他的程序有内存泄露,让我帮忙排查一下,截图如下:  说实话看到 32bit, 1.5G 这些关键词之后,职业敏感告诉我,他这个可能是虚拟地址紧张所致,不管怎么说,有了 Dump 就可以上马分析。  二:...

#
Donet
#
DoNet
分享:

记一次 .NET 某埋线管理系统 崩溃分析(图)

  一:背景  1. 讲故事  经常有朋友跟我反馈,说看你的文章就像看天书一样,有没有一些简单入手的dump 让我们先找找感觉,哈哈,今天就给大家带来一篇入门级的案例,这里的入门是从 WinDbg 的角度来阐述的,这个问题如果你通过 记日志,分析代码 的方...

#
Donet
#
DoNet
分享:

详解 ASP.NET Core 运行时之模块化设计(图)

  整体上可以分为以下几个模块:  应用程序托管模块  应用程序托管模块是入口点,主要负责创建 Host、解析 ConfigureServices 和 Configure 方法,创建 Pipeline 等。Host 是应用程序的主机运行时环境,它提供了一些配置和管理应用程序的基础功能,例...

#
Donet
#
DoNet
分享:

Docker 中的 .NET 异常了怎么抓 Dump(图)

  一:背景  1. 讲故事  有很多朋友跟我说,在 Windows 上看过你文章知道了怎么抓 Crash, CPU爆高,内存暴涨 等各种Dump,为什么你没有写在 Docker 中如何抓的相关文章呢?瞧不上吗?  哈哈,在DUMP的分析旅程中,跑在 Docker 中的 .NET 占比真的不...

#
Donet
#
DoNet
分享:

七个非常实用的 .NET 库(图)

  有一句谚语“你不必重新发明轮子”。一个好的项目使用一些实用的好的库能大大节约开发周期。  我认为 .NET 不需要任何介绍。它用于开发各种各样的应用程序,包括物联网设备、游戏、桌面和移动应用程序等。在这里,我整理了 7 个非常实用的 .NET 库,...

#
Donet
#
DoNet
分享:
分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号