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

数据可视化网站模板asp网站建设运用的技术

数据可视化网站模板,asp网站建设运用的技术,游戏网站开发过程,潜山云建站网站建设上周我们收到了一个客户的紧急求助#xff0c;他们的一个 iis应用程序池 经历了频繁重启#xff0c;即使从错误日志中也不得到任何有用的信息#xff0c;异常信息如下#xff1a;System.NullReferenceException : Object reference not set to an instance of an object. S… 上周我们收到了一个客户的紧急求助他们的一个 iis应用程序池 经历了频繁重启即使从错误日志中也不得到任何有用的信息异常信息如下System.NullReferenceException : Object reference not set to an instance of an object. System.Web.ThreadContext.AssociateWithCurrentThread(Boolean)System.Web.HttpApplication.OnThreadEnterPrivate(Boolean)System.Web.LegacyAspNetSynchronizationContext.CallCallbackPossiblyUnderLock(System.Threading.SendOrPostCallback, System.Object)System.Web.LegacyAspNetSynchronizationContext.CallCallback(System.Threading.SendOrPostCallback, System.Object)System.Threading.Tasks.AwaitTaskContinuation.RunCallback(System.Threading.ContextCallback, System.Object, System.Threading.Tasks.Task ByRef)System.Threading.Tasks.AwaitTaskContinuationc.b__18_0(System.Object)System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()System.Threading.ThreadPoolWorkQueue.Dispatch()这种异常会杀掉进程通过 google 搜索会发现这是 .NET 4.5 异步操作下的某种经典异常大概就是说没有在合适的地方等待 Task, 参考https://stackoverflow.com/questions/18759987/async-code-without-waiting-for-completion  参考如下代码var getDataTask  getData();if(some_condition  true) {return some_object; }getDataTask.Wait();return getDataTask.result;如果代码无意走了 if(some_condition true) 路径并没有 Wait 后续的 getDataTask 就会抛出这种异常现在的问题是堆栈信息太少并不能找到异常的源头在哪里使用 windbg 分析 如果你有 crash 的 dump用windbg就能挖到很多有价值的信息。File → Open Crash Dump首先使用 windbg 打开 crash 文件如下图从图中可以看到windbg 已经告知我们当前有一个 CLR 异常。Symbols虽然没有客户的 debug 符号这里使用微软的符号服务器 srv*C:\symbols*http://msdl.microsoft.com/download/symbols; 如下图加载 SOS 扩展在 windbg 命令窗口中输入  .loadby sos clr 。异常分析命令使用 windbg 自带的异常分析自动化命令 !analyze -v 然后你会得到很多的 异常信息, 参见下图上面的图中会告诉我们出问题的线程接下来我们怎么看是谁创建了 Task它的源头在哪里可以用 !dso 查看这个问题线程的所有栈对象。0:069 !dumpstackobjects OS Thread Id: 0x2d20 (69) RSP/REG          Object           Name r15              0000002031518d78 System.Threading.Thread 00000022C6EBE680 0000001db1a917a8 System.NullReferenceException 00000022C6EBE6A0 0000001db1a917a8 System.NullReferenceException 00000022C6EBE6F8 0000001db1a917a8 System.NullReferenceException 00000022C6EBE740 0000001db1a91c40 System.Threading.QueueUserWorkItemCallback 00000022C6EBE758 0000001db1a91ad0 System.Runtime.ExceptionServices.ExceptionDispatchInfo 00000022C6EBE760 0000001db1a917a8 System.NullReferenceException 00000022C6EBE780 0000002031518d78 System.Threading.Thread 00000022C6EBE788 0000001db1a91c40 System.Threading.QueueUserWorkItemCallback 00000022C6EBE790 0000001db1a917a8 System.NullReferenceException 00000022C6EBE7A8 0000001df1b95078 System.SByte[] 00000022C6EBE7B0 0000001df1392cc0 System.Threading.ContextCallback 00000022C6EBE7C0 0000001db1a917a8 System.NullReferenceException 00000022C6EBE880 0000001db1a91ad0 System.Runtime.ExceptionServices.ExceptionDispatchInfo 00000022C6EBE888 0000001db1a917a8 System.NullReferenceException 00000022C6EBE8A8 0000001db1a91c40 System.Threading.QueueUserWorkItemCallback 00000022C6EBE8B0 0000002031518d78 System.Threading.Thread 00000022C6EBE910 0000001df1392cc0 System.Threading.ContextCallback 00000022C6EBE920 0000001db1a917a8 System.NullReferenceException 00000022C6EBE928 0000001db1a91ad0 System.Runtime.ExceptionServices.ExceptionDispatchInfo 00000022C6EBE938 0000001db1a91cc8 System.Threading.ExecutionContext 00000022C6EBE940 0000001db1a91cc8 System.Threading.ExecutionContext 00000022C6EBE950 0000001df1392cc0 System.Threading.ContextCallback 00000022C6EBE990 0000002031518d78 System.Threading.Thread 00000022C6EBE9F0 0000001db1a91c40 System.Threading.QueueUserWorkItemCallback 00000022C6EBE9F8 0000001db1a91cc8 System.Threading.ExecutionContext 00000022C6EBEA60 0000001df1392c98 System.Threading.ThreadPoolWorkQueue 00000022C6EBEAB8 0000001fb114f2e8 System.Threading.TimerQueue 00000022C6EBEAD8 00000020314c0ae8 System.Threading.ThreadPoolWorkQueueThreadLocals 00000022C6EBEAE0 0000001df1392c98 System.Threading.ThreadPoolWorkQueue 00000022C6EBEB00 0000001db1a91c40 System.Threading.QueueUserWorkItemCallback 00000022C6EBEE18 0000001df19f8320 System.Web.Hosting.IIS7WorkerRequest这里有很多我们感兴趣的对象那源头自然要深挖栈底对象 System.Web.Hosting.IIS7WorkerRequest 使用 !do xxx 命令。然后再挖里面的 _path 和 _httpVerb 字段继续使用 !do。从图中可以看到线程的源头是从 POST /Account/Login 请求开始的。总结 当把调查结果反馈给客户几分钟后我收到了一封邮件他们已经定位并解决了这个问题据说是因为调用了第三方的 dll 但这个 dll 并没有合理的实现 wait 所致。
http://www.pierceye.com/news/795177/

相关文章:

  • 哪个网站可以帮忙做简历培训网网站源码
  • 万宁市住房和城乡建设局网站自助建站加盟
  • 创建一个网站需要什么wordpress 支付 api接口
  • 怎么样做免费网站建筑招工找活平台
  • 虚拟机中做网站家政服家政服务网站模板
  • 佛山企业网站建设流程网站开发 前端如何学习
  • 昆明好的网站开发公司宣传视频
  • 深圳网站设计公司网站建设 地址 上海石门二路
  • 广州大型网站建设公司广元网站建设价格
  • 国外做游戏的视频网站有哪些问题百度官网地址
  • wordpress主题外贸网站基础集团网站建设
  • 现货电子交易平台冬镜seo
  • 怎样进入当地建设局网站用py做网站
  • 做网站标配seoul是什么国家
  • 做网站注册哪些商标做网站建设销售
  • 创建网站有免费的吗大庆网络推广
  • 南昌p2p网站建设公司福州seo关键词排名
  • 导航网站链接怎么做建设网站的费用调研
  • 北京营销型网站定制网站开发 建设叫什么
  • 用ps做企业网站分辨率是多少钱百度竞价是什么
  • 九江市建设局官方网站网站支付开发
  • 福建建设银行官方网站开发一个大型网站需要多少钱
  • 电子商务建立网站前期准备网站做的不好使
  • 网站建设绵阳电影发布网站模板
  • 河北商城网站搭建多少钱金融 网站 源码
  • 知乎 做网站的公司 中企动力中国十大招商平台
  • 做中英文版的网站需要注意什么怎么解决
  • 电子商务网站开发附件一个外国人做的汉子 网站
  • 找南昌网站开发公司电话寓意好的公司名字
  • 网站商城设计方案做网站的图片传进去很模糊