1 IsNullOrEmpty()和IsNullOrWhiteSpace()的区别? IsNullOrEmpty是一个静态方法,它用于检查一个字符串是否为空或者为null。 public static bool IsNullOrEmpty(string value); IsNullOrWhiteSp ...
一:背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时,提出的一个场景问题,程序出现了非托管内存暴涨,这些非托管内存关联的对象都囤积在 终结器队列 中,很显然这是代码中没用 using 及时释放引发的,而这块代码又是第三方组件,你想加也加不了,所以提出了一个设想:能不能设法干预 终 ...
从C#9开始,可以使用record关键字来定义一个具有不可变属性的引用类型,编译器会为该类型生成大量的模板代码。C#10以后,record struct用来定义值类型,record class或record用来定义引用类型。 record(C# reference)这篇官方的文档中,介绍了recor ...
一、前言 前面的课程我们实现了矩形、圆形的拖动,以及不同形状间的连线,在实现的过程中,很多读者都发现并提出来了存在显示质量差有锯齿、拖动不流畅还闪烁等问题,作为承上启下的一节课程,我们本节就来看一上如何解决这些问题。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs. ...
芯片测试中 检查 LDO 电压(Low Dropout Regulator Voltage) 是一个非常关键的环节,用于验证芯片内部或外部 LDO 是否正常输出稳定的电压,为核心模块提供可靠电源。 1.什么是 LDO 电压测试 LDO(低压差线性稳压器) 通常存在于芯片内部,用于将外部较高电压(如 ...
一:背景 1. 讲故事 本篇是系列的最后一篇,我们从跨平台部署和自定义诊断的角度跟大家聊一聊 dottrace,希望对大家有所启发。 二:跨平台和自定义诊断 1. 如何跨平台诊断分析 如果 dottrace 只能在 windows 平台上跑,那确实不值得写一个系列,目前它可以横跨三大平台(Windo ...
泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。 ...
一:背景 1. 讲故事 现如今的很多代码都是awaitasync+Task的方式,对它们进行性能洞察非常有必要,awaitasync 本质上就是将状态机塞入到 Task 的 m_continuationObject 延续字段上,和 ContinueWith 没有本质区别,这一篇我们就来聊一聊。 二: ...
一:背景 1. 讲故事 分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 ...
一:背景 1. 讲故事 在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。 从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrac ...
芯片测试中“由 MCU 下载程序,测试芯片内部接口、FLASH 等情况并反馈结果”通常是在生产测试(ATE)或板级测试(ATE-BIT/BIST)阶段使用的一种自测试(BIST)机制,主要用于验证芯片功能是否合格,特别适用于 射频芯片、SoC、MCU 芯片 等具有 Flash 或外设的器件。 1.整 ...
一:背景 1. 讲故事 写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下: 虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下 ...
一、前言 上一节我们实现了在矩形与矩形之间添加连线,光是矩形太单调了,某些问题也暴露不出来,我们本节就来看一下,如何添加一个圆形,且支持圆形与圆形、圆形与矩形、矩形与矩形间的连线。在这个过程中我们会发现一些问题,这些问题我们后续课程会进行处理,大家也请带着自己的思考和理解去看。 相信看完的你,一定会 ...
在wpf开发中,你有没有需要用到这样的场景,比如:在父窗口显示表单的输入的内容,然后再进行一些处理逻辑等,表单可以很复杂,也可以很简单,下面我就以示例代码来做一个demo展示。 1.父窗口界面展示如下: <Window x:Class="WPFDemoMVVM.View.UserInputView" ...
电源管脚接触测试(Power Pin Contact Test)是芯片量产/测试流程中用于确认芯片电源引脚(如 VDD、VSS、AVDD、DVDD 等)是否与测试治具或探针台良好接触的关键测试环节。 1.为什么要做电源管脚接触测试? 电源管脚如果接触不良,可能导致: 芯片无法正常上电,所有后续测试失 ...
芯片中的 IO管脚接触测试(IO Pin Contact Test),是芯片测试流程(ATE:Automatic Test Equipment 流程)中非常关键的早期测试环节,主要用于判断芯片引脚是否正确接触探针/测试座,以避免由于接触不良导致后续测试误判。 1.IO管脚接触测试的目的 确认每个 I ...
AUX_ADC 测试 方式,属于芯片模拟信号接口在不同电源/功耗状态下的功能验证。 以下是简单介绍: 1.什么是 AUX_ADC? AUX_ADC(Auxiliary Analog-to-Digital Converter) 是芯片内部的辅助 ADC 通道,用于测量: 电压、电流 温度传感器输出 外 ...
前言 RabbitMQ 是实现了高级消息队列协议(Advanced Message Queuing Protocol,AMQP)的开源消息代理软件。服务器端使用 Erlang 语言编写,支持 Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOM ...
1.部署流程 1、研发push到github代码库(或gitlab) 2、Jenkins 构建,pull git代码使用maven进行编译打包 3、打包生成的代码,生成一个新版本的镜像,push到本地docker仓库harbor 4、发布,测试机器pull新版本的镜像,并删除原来的容器,重新运行新版 ...
一:背景 1. 讲故事 在用 dotTrace 对程序进行性能评测的时候,有一个非常重要的概念需要使用者明白,那就是 时间度量 (Time measurement),主要分为两种。 墙钟时间 线程时间 在 dotTrace 中有四种测量维度,其中 Real time 对应着 墙钟时间,截图如下: 二 ...