C#线上问题排查汇总:cpu飙高、内存飙高、程序未知异常、远程调试,程序运行缓慢、程序崩溃、APM

这篇文章因为涉及的点比较多,所以我没有一次完成,在持续补充中,有些章节缺失,我在尽快补充中

一、C#cpu飙高和内存飙高。

1)Debug环境下的飙高

Visual Studio的新版本自带了诊断工具,如果你写的c#程序在调试阶段就表现出了内存飙高或者cpu飙高,那么你用vs的诊断工具,就可以找出是哪块代码引起的。比如cpu飙高的问题,想重现cpu飙高,只要写一个死循环就可以。

    static void Main(string[] args)
        {
            try
            {
                Thread thread = new Thread(() =>
                {
                    Test();
                });
                thread.Start();
            }
            catch (Exception ex)
            {

            }
            Console.ReadLine();
        }
        private static void Test()
        {
            while (true)
            {
                Console.WriteLine(DateTime.Now.Ticks);
            }
        }

这段代码一旦启动,就会导致我的cpu飙高到30%。诊断工具,只要在vs启动项目的时候一般就会跟着打开,如果没有打开,那么按照这个路径:调试=》

  • 7
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值