当前位置: 首页 > news >正文

做微商怎样加入网站卖东西赚钱wordpress 换空间 目录 西部数码

做微商怎样加入网站卖东西赚钱,wordpress 换空间 目录 西部数码,温州制作网站公司,怎么做外贸网站这篇文章#xff0c;我们研究一下如何调试一个 死锁问题#xff0c;可以下载一下 https://github.com/dotnet/samples/tree/main/core/diagnostics/DiagnosticScenarios 源码#xff0c;程序运行后#xff0c;你会发现api无响应而且线程会不断增长#xff0c;然后你会学习… 这篇文章我们研究一下如何调试一个 死锁问题可以下载一下 https://github.com/dotnet/samples/tree/main/core/diagnostics/DiagnosticScenarios 源码程序运行后你会发现api无响应而且线程会不断增长然后你会学习到用不同的工具去分析这个死锁问题。生成 core dump 为了能找出程序无响应的原因core dump 提供了当时线程的状态以及各种存在线程竞争的锁接下来运行如下命令dotnet run为了能找到 进程ID使用如下命令。dotnet-trace ps可以自己查看一下 shell 输出我们的进程是 4807你的进程号可能不一样接下来访问URL: https://localhost:5001/api/diagscenario/deadlock 你会发现这个api请求会一直得不到response等 10-15s 后使用下面的命令收集一个 dump 文件。dotnet-dump collect -p 4807分析 core dump 为了能够对生成好的 dump 进行分析使用如下命令 dotnet-dump analyze 命令参考如下dotnet-dump analyze  ~/.dotnet/tools/core_20190513_143916因为是一个莫名的无响应问题所以你可能想先对进程中的所有线程有一个整体的感知。 threads *0 0x1DBFF (121855)1 0x1DC01 (121857)2 0x1DC02 (121858)3 0x1DC03 (121859)4 0x1DC04 (121860)5 0x1DC05 (121861)6 0x1DC06 (121862)7 0x1DC07 (121863)8 0x1DC08 (121864)9 0x1DC09 (121865)10 0x1DC0A (121866)11 0x1DC0D (121869)12 0x1DC0E (121870)13 0x1DC10 (121872)14 0x1DC11 (121873)15 0x1DC12 (121874)16 0x1DC13 (121875)17 0x1DC14 (121876)18 0x1DC15 (121877)19 0x1DC1C (121884)20 0x1DC1D (121885)21 0x1DC1E (121886)22 0x1DC21 (121889)23 0x1DC22 (121890)24 0x1DC23 (121891)25 0x1DC24 (121892)26 0x1DC25 (121893) ... ...317 0x1DD48 (122184)318 0x1DD49 (122185)319 0x1DD4A (122186)320 0x1DD4B (122187)321 0x1DD4C (122188)输出中展示了进程中的所有线程ID以及相关的 调试器线程ID 和 操作系统线程ID。接下来我们有必要了解下每个线程都在做什么可以用 clrstack 查看线程栈为了能查看所有的线程栈使用如下命令clrstack -all.........Child SP               IP Call Site 00007F2AE37B5680 00007f305abc6360 [GCFrame: 00007f2ae37b5680] 00007F2AE37B5770 00007f305abc6360 [GCFrame: 00007f2ae37b5770] 00007F2AE37B57D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae37b57d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE37B5920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE37B5950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE37B5CA0 00007f30593044af [GCFrame: 00007f2ae37b5ca0] 00007F2AE37B5D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae37b5d70] OS Thread Id: 0x1dc82Child SP               IP Call Site 00007F2AE2FB4680 00007f305abc6360 [GCFrame: 00007f2ae2fb4680] 00007F2AE2FB4770 00007f305abc6360 [GCFrame: 00007f2ae2fb4770] 00007F2AE2FB47D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae2fb47d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE2FB4920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE2FB4950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE2FB4CA0 00007f30593044af [GCFrame: 00007f2ae2fb4ca0] 00007F2AE2FB4D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae2fb4d70] OS Thread Id: 0x1dc83Child SP               IP Call Site 00007F2AE27B3680 00007f305abc6360 [GCFrame: 00007f2ae27b3680] 00007F2AE27B3770 00007f305abc6360 [GCFrame: 00007f2ae27b3770] 00007F2AE27B37D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae27b37d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE27B3920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE27B3950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE27B3CA0 00007f30593044af [GCFrame: 00007f2ae27b3ca0] 00007F2AE27B3D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae27b3d70] OS Thread Id: 0x1dc84Child SP               IP Call Site 00007F2AE1FB2680 00007f305abc6360 [GCFrame: 00007f2ae1fb2680] 00007F2AE1FB2770 00007f305abc6360 [GCFrame: 00007f2ae1fb2770] 00007F2AE1FB27D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae1fb27d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE1FB2920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE1FB2950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE1FB2CA0 00007f30593044af [GCFrame: 00007f2ae1fb2ca0] 00007F2AE1FB2D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae1fb2d70] OS Thread Id: 0x1dc85Child SP               IP Call Site 00007F2AE17B1680 00007f305abc6360 [GCFrame: 00007f2ae17b1680] 00007F2AE17B1770 00007f305abc6360 [GCFrame: 00007f2ae17b1770] 00007F2AE17B17D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae17b17d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE17B1920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE17B1950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE17B1CA0 00007f30593044af [GCFrame: 00007f2ae17b1ca0] 00007F2AE17B1D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae17b1d70] OS Thread Id: 0x1dc86Child SP               IP Call Site 00007F2AE0FB0680 00007f305abc6360 [GCFrame: 00007f2ae0fb0680] 00007F2AE0FB0770 00007f305abc6360 [GCFrame: 00007f2ae0fb0770] 00007F2AE0FB07D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae0fb07d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE0FB0920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE0FB0950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE0FB0CA0 00007f30593044af [GCFrame: 00007f2ae0fb0ca0] 00007F2AE0FB0D70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae0fb0d70] OS Thread Id: 0x1dc87Child SP               IP Call Site 00007F2AE07AF680 00007f305abc6360 [GCFrame: 00007f2ae07af680] 00007F2AE07AF770 00007f305abc6360 [GCFrame: 00007f2ae07af770] 00007F2AE07AF7D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2ae07af7d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2AE07AF920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2AE07AF950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2AE07AFCA0 00007f30593044af [GCFrame: 00007f2ae07afca0] 00007F2AE07AFD70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2ae07afd70] OS Thread Id: 0x1dc88Child SP               IP Call Site 00007F2ADFFAE680 00007f305abc6360 [GCFrame: 00007f2adffae680] 00007F2ADFFAE770 00007f305abc6360 [GCFrame: 00007f2adffae770] 00007F2ADFFAE7D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2adffae7d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2ADFFAE920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2ADFFAE950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2ADFFAECA0 00007f30593044af [GCFrame: 00007f2adffaeca0] 00007F2ADFFAED70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2adffaed70] ... ... Observing the callstacks for all 300 threads shows a pattern where a majority of the threads share a common callstack:ConsoleCopy OS Thread Id: 0x1dc88Child SP               IP Call Site 00007F2ADFFAE680 00007f305abc6360 [GCFrame: 00007f2adffae680] 00007F2ADFFAE770 00007f305abc6360 [GCFrame: 00007f2adffae770] 00007F2ADFFAE7D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2adffae7d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2ADFFAE920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2ADFFAE950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2ADFFAECA0 00007f30593044af [GCFrame: 00007f2adffaeca0] 00007F2ADFFAED70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2adffaed70]观察这超300 的线程栈发现很多线程都是类似下面的线程栈。OS Thread Id: 0x1dc88Child SP               IP Call Site 00007F2ADFFAE680 00007f305abc6360 [GCFrame: 00007f2adffae680] 00007F2ADFFAE770 00007f305abc6360 [GCFrame: 00007f2adffae770] 00007F2ADFFAE7D0 00007f305abc6360 [HelperMethodFrame_1OBJ: 00007f2adffae7d0] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef) 00007F2ADFFAE920 00007F2FE392B31F testwebapi.Controllers.DiagScenarioController.deadlockb__3_1() [/home/marioh/webapi/Controllers/diagscenario.cs  36] 00007F2ADFFAE950 00007F2FE392B46D System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/__w/3/s/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 00007F2ADFFAECA0 00007f30593044af [GCFrame: 00007f2adffaeca0] 00007F2ADFFAED70 00007f30593044af [DebuggerU2MCatchHandlerFrame: 00007f2adffaed70]从调用栈看api请求已经进去了 deadlock 方法然后在 Monitor.ReliableEnter 处卡住这就说明有其他线程已经进去了这个临界区。接下来我们要寻找到底是哪一个线程正在持有锁可以用 syncblk 来获取更多线程锁信息。 syncblk Index         SyncBlock MonitorHeld Recursion Owning Thread Info          SyncBlock Owner43 00000246E51268B8          603         1 0000024B713F4E30 5634  28   00000249654b14c0 System.Object44 00000246E5126908            3         1 0000024B713F47E0 51d4  29   00000249654b14d8 System.Object ----------------------------- Total           344 CCW             1 RCW             2 ComClassFactory 0 Free            0这里有两个列需要注意下MonitorHeld它记录了这个持有锁当前有多少 持有线程 和 等待线程。Owning Thread Info它表示当前持有锁的线程信息。到这里我们看到有两个线程 0x5634 和 0x51d4 持有了一个锁接下来可以切到各自线程看看里面到底做了什么可以用 setthread 和 clrstack 命令。首先看一下第一个线程 0x5634我们发现它正在获取一个锁但通过 syncblk 我们知道这个线程已经持有了一个锁这问题就大了可以想象所有等待这个持有锁的线程将会被无限期等待。 setthread 28clrstack OS Thread Id: 0x5634 (28)Child SP               IP Call Site 0000004E46AFEAA8 00007fff43a5cbc4 [GCFrame: 0000004e46afeaa8] 0000004E46AFEC18 00007fff43a5cbc4 [GCFrame: 0000004e46afec18] 0000004E46AFEC68 00007fff43a5cbc4 [HelperMethodFrame_1OBJ: 0000004e46afec68] System.Threading.Monitor.Enter(System.Object) 0000004E46AFEDC0 00007FFE5EAF9C80 testwebapi.Controllers.DiagScenarioController.DeadlockFunc() [C:\Users\dapine\Downloads\Diagnostic_scenarios_sample_debug_target\Controllers\DiagnosticScenarios.cs  58] 0000004E46AFEE30 00007FFE5EAF9B8C testwebapi.Controllers.DiagScenarioController.deadlockb__3_0() [C:\Users\dapine\Downloads\Diagnostic_scenarios_sample_debug_target\Controllers\DiagnosticScenarios.cs  26] 0000004E46AFEE80 00007FFEBB251A5B System.Threading.ThreadHelper.ThreadStart_Context(System.Object) [/_/src/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs  44] 0000004E46AFEEB0 00007FFE5EAEEEEC System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) [/_/src/System.Private.CoreLib/shared/System/Threading/ExecutionContext.cs  201] 0000004E46AFEF20 00007FFEBB234EAB System.Threading.ThreadHelper.ThreadStart() [/_/src/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs  93] 0000004E46AFF138 00007ffebdcc6b63 [GCFrame: 0000004e46aff138] 0000004E46AFF3A0 00007ffebdcc6b63 [DebuggerU2MCatchHandlerFrame: 0000004e46aff3a0]第二个线程情况类似剩下的 300 线程也差不多都是在这些 死锁 的 lock 上无限期的等待。
http://www.zqtcl.cn/news/59971/

相关文章:

  • 网站开发属于什么行业企业网站优化包括哪三个方面
  • 溧水区住房和城乡建设厅网站品牌网站制作哪家好
  • 公司做个网站多少钱著名的设计作品有哪些
  • 浏览器做单页网站项目优秀室内设计案例
  • 品牌网站建设渠道怎样管理一个俄语网站
  • 资讯网站 怎么做免费网站模版下载
  • 创手机网站建立wordpress
  • 多久可以做网站市场调研表模板
  • 住房和城乡建设部网站主页app移动应用软件开发
  • 网站如何做360度全景丹阳市建设局网站
  • 哪个网站适合 做红本抵押潜江做网站的公司
  • 老男孩linux网站wordpress加速教程
  • 营销型网站建立网页设计模板html代码模板
  • 网站内部优化方法注册网站花的钱做会计分录
  • 验证网站所有权做网站被骗预付款怎么办
  • 做钓鱼网站北京海淀区大学
  • wordpress顶部菜单调用整站seo排名外包
  • 服饰网站模板wordpress 打不开页面
  • wordpress媒体库 替换合肥seo快排扣费
  • 新农村基础设施建设网站wordpress wp-pic主题
  • 做食材的网站小程序登录入口官网网址
  • 设计常用网站如何诊断网站seo
  • 安徽网站建设费用泰安企业公司
  • 网站流量评价有哪几方面梧州市建设局网站
  • 网站开发与软件开发区别百度推广培训机构
  • 湖南网站营销推广快照打开是网站网站
  • 南宁做网站的有几家西安百度推广服务公司
  • 做网站前台用什么五月色做受网站
  • 做视频资源网站有哪些内容西安给公司做网站
  • 北京网站优化推广公司vue 做的pc端网站