您现在的位置是:首页 > 正文

PC软件CPU高定位示例

2024-04-01 00:33:32阅读 2
  1. 任务管理器查看CPU异常进程

如图,进程testdbg.exe的进程ID为15164,CPU长时间占用19%左右。

  1. 使用procdump创建dmp

命令: procdump -ma -c 10 -s 2 15164

意思是当进程ID 15164的CPU>=10%超过2秒时,收集dmp文件。

执行命令后,可以看到如下信息:

如图,监控到进程CPU25%持续了2秒。

然后生成了dmp文件testdbg.exe_230306_221355.dmp。

  1. 配置windbg环境

  1. 运行windbg软件。

  1. 配置pdb文件路径。

界面左上角菜单:

文件--符号文件路径,加上testdbg.exe相关编译生成的PDB文件路径。

  1. 加载dmp文件

把前面捕获的dmp文件testdbg.exe_230306_221355.dmp拖到windbg界面打开。

得到如下打开dmp文件后效果:

  1. 分析CPU异常代码

1.查看各线程CPU时间。

windbg命令: !runaway

意思是分析各线程CPU时间。执行命令后,结果如下图所示:

执行命令后,可以看到:

共3个线程,其中 0 号线程ID为3ea0,CPU时间为41.828秒.

我们需要查看0号线程的堆栈,查看执行什么代码。

  1. 切换到耗CPU时间的线程

命令: ~0s

切换到0号线程。

左下角显示的数字,就是第几号线程。

3.查看耗CPU时间的线程堆栈

命令:kb

意思是查看当前线程堆栈

执行命令后如下图:

可以知道,代码执行到了mydll3.cpp的53行。

4.查看源码

具体代码如下:

一个死循环导致了CPU高。

网站文章

  • 7、volatile

    https://www.cnblogs.com/fengzheng/p/9070268.html并发的三个特性并发场景三个特性:原子性、可见性、有序性;只有在满足了这三个特性,才能保证并发程序正确执行,否则会出现各种问题;1、原子性:cas(乐观锁)和atomic*类,可以保证简单操作的原子性,对于一些负责的操作,可以使用synchronized或者各种锁来实现。2、可...

    2024-04-01 00:33:25
  • vite 移动端项目搭建vue3+ts+vant3

    vite 移动端项目搭建vue3+ts+vant3

    这样在代码保存的时候, eslint就会自动检查并修复。(使用vite官方模板),这里使用的是vue-ts版本。属性,设置该属性后,即可在对应的机型上开启适配。也可以添加到package.json中。...

    2024-04-01 00:33:02
  • Android CardView如何显示出底背景样式?

    Android CardView如何显示出底背景样式?

    <androidx.cardview.widget.CardView android:id="@+id/actionOneCv" android:layout_width="0dp" ...

    2024-04-01 00:32:54
  • c#:grpc初体验

    c#:grpc初体验

    环境: window10x64 企业版 vs2019 16.7.7 .net core3.1 参照: 《ASP.NET Core 3.0 使用gRPC》 《Asp.Net Core Grpc使用C#对...

    2024-04-01 00:32:47
  • django 使用默认django数据库创建数据库

    django 使用默认django数据库创建数据库

    django有默认自带的数据库,当然也可以用其他的数据库,修改数据库的方式也很简单是需要在setting.py修改 DATABASES这里面的参数就可以了 DATABASES = { &#39;def...

    2024-04-01 00:32:21
  • centos boot dvd版本_华为LTE认证考试题库(Word版)

    centos boot dvd版本_华为LTE认证考试题库(Word版)

    资料共计129页,篇幅有限,本文只列举少部分试题。如需要原文档:请关注本公众号,并将本文分享到朋友圈或者是通信群组。分享后添加微信(微信号:tongxinzixun123)领取。这些资料是我从各大通信论坛上面所收集,版权归原作者所有,本号只提供分享,供通信人学习交流用,禁止用于商业等用途,谢谢大家的理解与支持!更多精彩内容,请点击下面链接查看并领取:4G网络优化典型案例(PPT版)5G现...

    2024-04-01 00:32:12
  • 苹果手机无法解析html,苹果手机故障全解析

    苹果手机无法解析html,苹果手机故障全解析

    苹果手机的的故障问题虽然有很多,不过依旧无法阻挡果粉们对它的爱。今天小编就为大家总结和介绍一下苹果手机都有哪些故障和解决办法!手机不像电脑是靠自身散热,大家最直观的感受就是手机操作一会发烫,怎么解决?...

    2024-04-01 00:32:04
  • 什么是美颜SDK?

    什么是美颜SDK?

    首先,美摄美颜SDK拥有丰富的美颜算法库,可以满足用户多样化的美颜需求。再者,它还具备出色的跨平台兼容性,可以轻松集成到各种设备和应用中,无论是手机、相机还是直播平台,都能发挥出其强大的功能。当然,针...

    2024-04-01 00:31:58
  • Jfinal 在tomcat启动报错!!

    看清楚,我的jfianl项目启动报错大概显示:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component 什么原因呢?包也导够了,是从官方maven Demo拷贝过来的,在jetty server下可以启动,到部署到tom

    2024-04-01 00:31:30
  • ansible 流程控制

    ansible 流程控制使用when判断主机名- hosts: rsync_server tasks: - name: Install rsyncd Server yum: name: rsync state: present - name: Config rsyncd Conf copy: ...

    2024-04-01 00:31:23