1.首先要先准备好环境,安装lldb 工具 要安装3.9版本的,因为每个版本对应dnc版本不一样,3.9的支持2.2 版本,然后确定分析的机器里dnc 版本和线上的生产环境是否一致,自己安装比较费劲,可以使用一些已经安装好的docker镜像来进行分析更简单一点

2.在生产环境生成dump文件可以使用procdump 工具或者直接使用dotnet 自带的工具
/usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.1/createdump 9364(线程id)

3.首先使用linux 命令查询占用cpu高的线程
top -H 命令查询

4.在本地开始分析
1>lldb 加载文件
lldb dotnet \
-c /opt/dump\_file/mvcdumpmindump \
-o "plugin load /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.1/libsosplugin.so"
2>设置dotent core 运行环境 setclrpath /usr/share/dotnet/shared/Microsoft.NETCore.App/2.1.1/命令

3>clrthreads -live 列出所有线程
4>thread select 11(线程编号)
5>clrstack -p 查看代码堆栈信息

最后定位到了一段代码,其中有while循环,代码如下:

这一段代码猛一看好像没有问题,也会出现死循环的情况,那么情况是怎么产生的呢?经过和同事一起慢慢的重现出来了,因为有重复新闻id的产生造成了死循环,最终代码修好后问题解决!!

最新文章

  1. Javascript判断两个日期是否相等
  2. usb驱动开发24之接口驱动
  3. 双击导航栏自动滑动ListView到顶部
  4. poj 2378 (dijkstra)
  5. Codeforces Round #385 (Div. 2) A. Hongcow Learns the Cyclic Shift 水题
  6. JQuery 中 is(':visible') 解析及用法
  7. 简述负载均衡&CDN技术
  8. Codeforces Round #360 (Div. 2) E. The Values You Can Make 01背包
  9. Android的自动对焦
  10. python 参议院文本预处理的一维数组的间隔空间
  11. CSS的z-index(分层)
  12. 处理IIS报“由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面”
  13. 一步一步学EF系列【6、IOC 之AutoFac】
  14. Hadoop中Hbase的体系结构
  15. lua中 table 元表中元方法的重构实现
  16. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)
  17. Web开发,浏览器通讯原理及流程那点事,你应该听说下
  18. python3与mysql交互
  19. centos中编译安装nginx+mysql +php(未完)
  20. Codeforces 1043F(容斥+dp)

热门文章

  1. .NET 一次读取几百条数据优化,从原来30分钟优化到30秒
  2. Python 中 对logging 模块进行封装,记录bug日志、日志等级
  3. 051-PHP求余运算
  4. 161-PHP 文本替换函数str_replace(二)
  5. 057-while循环
  6. ES6 之 对象属性的可枚举性和遍历
  7. sed -i添加到第一行
  8. 高级js 变量提升以及自由变量
  9. MFC消息映射及消息处理函数原型
  10. gogs 小团队使用 2