DotTrace系列:6. 程序异常诊断 和 Request慢处理
一:背景
1. 讲故事
在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。
从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrace 在 cpu 爆高的时段记录下异常的数量,这样就稳了,这篇我们就来解决 ...
芯片测试中由MCU下载程序,测试芯片内接口、FLASH等情况
芯片测试中“由 MCU 下载程序,测试芯片内部接口、FLASH 等情况并反馈结果”通常是在生产测试(ATE)或板级测试(ATE-BIT/BIST)阶段使用的一种自测试(BIST)机制,主要用于验证芯片功能是否合格,特别适用于 射频芯片、SoC、MCU 芯片 等具有 Flash 或外设的器件。
1.整体流程概览
上电 & 初始化
↓
MCU 下载测试程序
↓
...
DotTrace系列:4. 诊断窗体程序变卡之原因分析
一:背景
1. 讲故事
写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下:
虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下,时过境迁有些功能和性能基准虽然已经不一样了 ...
[原创]《C#高级GDI+实战:从零开发一个流程图》第04章:来个圆形,连线它!
一、前言
上一节我们实现了在矩形与矩形之间添加连线,光是矩形太单调了,某些问题也暴露不出来,我们本节就来看一下,如何添加一个圆形,且支持圆形与圆形、圆形与矩形、矩形与矩形间的连线。在这个过程中我们会发现一些问题,这些问题我们后续课程会进行处理,大家也请带着自己的思考和理解去看。
相信看完的你,一定会有 ...
C#.Net筑基-优雅LINQ的查询艺术
Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统一的C#语言快速查询各种数据,如数据库、XML文档、对象集合等等。Linq的诞生对 C# 编程领域产生了深远而持久的影响,改变了开发人员对查询的 ...
WPF中如何实现在一个弹窗中一个输入内容的表单,并在父窗口显示
在wpf开发中,你有没有需要用到这样的场景,比如:在父窗口显示表单的输入的内容,然后再进行一些处理逻辑等,表单可以很复杂,也可以很简单,下面我就以示例代码来做一个demo展示。
1.父窗口界面展示如下:
<Window x:Class="WPFDemoMVVM.View.UserInputView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres ...
芯片测试中的电源管脚接触测试
电源管脚接触测试(Power Pin Contact Test)是芯片量产/测试流程中用于确认芯片电源引脚(如 VDD、VSS、AVDD、DVDD 等)是否与测试治具或探针台良好接触的关键测试环节。
1.为什么要做电源管脚接触测试?
电源管脚如果接触不良,可能导致:
芯片无法正常上电,所有后续测试失效
功耗异常、读写失败等误判
烧坏芯片或探针 ...
芯片测试中 IO管脚接触测试
芯片中的 IO管脚接触测试(IO Pin Contact Test),是芯片测试流程(ATE:Automatic Test Equipment 流程)中非常关键的早期测试环节,主要用于判断芯片引脚是否正确接触探针/测试座,以避免由于接触不良导致后续测试误判。
1.IO管脚接触测试的目的
确认每个 IO 脚是否与测试机/探针卡接触良好
避免误判芯片功能异常其实是 ...
芯片中的AUX_ADC 测试
AUX_ADC 测试 方式,属于芯片模拟信号接口在不同电源/功耗状态下的功能验证。
以下是简单介绍:
1.什么是 AUX_ADC?
AUX_ADC(Auxiliary Analog-to-Digital Converter) 是芯片内部的辅助 ADC 通道,用于测量:
电压、电流
温度传感器输出
外部模拟输入信号(如调试 IO)
通常用于内部诊断或外部模拟信号读取。
通常有 ...
推荐一款基于EF-Core的分库分表利器
在实际应用开发中,有些项目可能数据量特别大,在系统应用一段时间后,性能随着数据量的增加会逐步下降,从而造成系统不定时卡顿等现象,在客户使用过程中也会产生不好的印象。在这种情况下,常规操作是增加索引,优化SQL语句等方案,这种常规操作可能会短暂的解决卡顿问题,但是随着数据量持续增多,效果反而越来越不明显 ...
Linux服务器搭建RabbitMQ流程
前言
RabbitMQ 是实现了高级消息队列协议(Advanced Message Queuing Protocol,AMQP)的开源消息代理软件。服务器端使用 Erlang 语言编写,支持 Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP 及 AJAX 等多种客户端。具备易用性、扩展性及高可用性等优势。
1.操作步骤
安装 Erlang
1.1 执行以下命令 ...
应用服务和领域服务有什么区别?
在微服务架构和领域驱动设计(Domain-Driven Design, DDD)中,应用服务(Application Service) 和 领域服务(Domain Service) 是两种不同类型的组件,它们在职责和使用场景上有明显的区别。理解这两者的区别对于设计和实现高效的微服务架构至关重要。
应用服务(Application Service)
应用服务是位于应用程序边界层的组 ...
腾讯云上部署CICD(持续集成)+docker/k8s部署项目
1.部署流程
1、研发push到github代码库(或gitlab)
2、Jenkins 构建,pull git代码使用maven进行编译打包
3、打包生成的代码,生成一个新版本的镜像,push到本地docker仓库harbor
4、发布,测试机器pull新版本的镜像,并删除原来的容器,重新运行新版本镜像。
2.环境说明
服务及服务器说明腾迅云环境、代码仓库
1、 代码 ...
DotTrace系列:3. 时间度量之墙钟时间和线程时间
一:背景
1. 讲故事
在用 dotTrace 对程序进行性能评测的时候,有一个非常重要的概念需要使用者明白,那就是 时间度量 (Time measurement),主要分为两种。
墙钟时间
线程时间
在 dotTrace 中有四种测量维度,其中 Real time 对应着 墙钟时间,截图如下:
二:时间度量分析
1. 墙钟时间
墙钟时间 顾名思义就是墙上的时钟 ...
.NET 8 gRPC 实现高效100G大文件断点续传工具
前言
随着数字化和信息化的发展,大文件传输在企业、科研以及个人用户中变得越来越常见。传统的文件传输方式在面对大文件(如几十GB甚至上百GB的视频、工程数据)时,常常因网络不稳定、程序崩溃等原因导致传输失败,而重新上传又浪费大量时间和带宽资源。
为了解决这一问题,本文推荐一个基于WinForm 和 .NET gRPC 技术实 ...
LinqPad:C#代码测试学习一品神器
01、LinqPad是干嘛的?
LinqPad 是一个可编写、运行C#(VB/F#/SQL)代码的轻量工具,C#开发者强烈推荐必备的工具,一个一旦用了就再也不想丢弃的工具。工具出自《C# 核心技术指南》的作者Joseph Albahari,一位.Net资深技术专家。
🎉主要应用场景:
快速代码功能测试(功能测试、性能测试),这可能是最常用的场景了。
把 ...
如何理解值传递的原理,string类型
在 C# 中,参数传递的方式决定了方法内部对参数的修改是否会影响外部调用。对于 string 类型的参数,C# 使用的是按值传递(pass by value),这意味着在方法内部对 string 参数的重新赋值不会影响外部调用中的原始字符串。
详细解释:
1.按值传递(Pass by Value):
对于 string 类型的参数,方法接收的是原始字符串的副本 ...
WPF实现本地化多语言的几种方式
话不多说,我们直接上源码开干。
1.第一种方式: 使用字典Dictionary.xaml
搭建系统框架,使用MVVM
页面布局方式如下:
<Window x:Class="WPFDemoMVVM.View.LanguageChangeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d ...
.Net 9.0环境下WebApi发布到IIS
一、在Visual Studio里发布
右键点击WebApi工程,点击发布按钮,如下图所示。
点击【发布】按钮后,系统弹出发布对话框,如下图所示。
选择文件夹,点击【下一步】。
在该界面选择发布输出的目录,一般默认即可,发布到IIS时,我们把此处的文件再拷贝实际在IIS上发布的目录。然后点击【完成】按钮。
在该界面点击【关闭 ...
[C#] TestHttpPost(测试Http的POST方法)发布v1.2版,增加增加输出文件、设置请求头的功能
作者: zyl910
最近在调试Http POST协议的接口时,对 TestHttpPost 进行了改进,增加了增加输出文件、设置请求头的功能。故发布了发布v1.2版。
一、变更说明
v1.2的变更说明——
框架版本改为 .NET Framework 4.5. 因为 WIndows 7、Windows Server 2008等操作系统自带了.NET Framework 4.5或更高版本, 节省了安装 .NET ...