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

网站多少图片怎么做超链接翠竹林 wordpress

网站多少图片怎么做超链接,翠竹林 wordpress,如何把网站和域名绑定,wordpress 页面 固定链接如果图片显示太小#xff0c;可以放大浏览器页面查看。 一. 演示示例 这里一个有关键区锁死问题的程序#xff0c;运行之后依次点击“CS锁死”按钮、右上角退出按钮#xff0c;程序就会卡死。#xff08;图1#xff09; 对于眼下的这个问题#xff0c;界面完全失去响应… 如果图片显示太小可以放大浏览器页面查看。 一. 演示示例 这里一个有关键区锁死问题的程序运行之后依次点击“CS锁死”按钮、右上角退出按钮程序就会卡死。图1 对于眼下的这个问题界面完全失去响应这说明负责消息处理的UI线程阻塞了。对于几乎所有的windows GUI程序编号为0的初始线程就是UI线程windows发现该界面一段时间没有消息响应之后就会在标题后面加上“未响应”。 二. WinDbg调试 启动Windbg附加到执行进程F6。 ~*knv3 查看各个线程的调用堆栈图3数字3表示显示的堆栈深度省略即显示完整堆栈。 #0号线的栈帧0表示线程程阻塞在NtWaitForSingleObject函数MSDN得知该函数原型为 NTSTATUS WINAPI NtWaitForSingleObject(_In_ HANDLE Handle, _In_ BOOLEAN Alertable,_In_ PLARGE_INTEGER Timeout ); 第一个参数Handle为其等待的句柄第三个参数TimeOut为超时时间。 同样从栈帧0得知NtWaitForSingleObject正在等待句柄000000c4超时时间为0即没信号就一直等待。 !handle 000000c4 f 命令查看000000c4句柄的信息图4 现在我们知道c4句柄就是线程ID:20d0的句柄主线程在退出的时候等待该线程退出而该线程一直没有退出所以主线程卡死了。 根据图3得知20d0线程就是#1线程~1kvn 查看该线程完整堆栈图5 栈帧00 NtWaitForSingleObject 表示线程在等待000000c0句柄。 !handle !handle 000000c0 f 查看句柄信息得知c0句柄为事件句柄 0:002 !handle c0 f Handle c0Type EventAttributes 0GrantedAccess 0x100003:SynchQueryState,ModifyStateHandleCount 2PointerCount 4Name noneObject Specific InformationEvent Type Auto ResetEvent is Waiting !locks !locks 查看进程中哪些锁处于锁定状态图6 从第一行结果可以得知是gcsName临界区需要有pdb才会显示具体变量名处于锁定状态。 其实我们从栈帧02 RtlEnterCriticalSection 也可以很快的知道该线程一直在等待进入关键区。 经过分析知道程序无法退出的原因了线程#1中的关键区gcsName处于锁定状态也就是一直等待进入关键区导致线程#1阻塞无法执行。又因主线程在退出的时候执行了WaitForSingleObject等待#1线程从而导致主线程卡死。 RTL_CRITICAL_SECTION结构 关键区机制主要是通过下面这样的RTL_CRITICAL_SECTION结构来实现的可以通过dt 命令查看该结构定义 0:002 dt RTL_CRITICAL_SECTION Test1!RTL_CRITICAL_SECTION0x000 DebugInfo : Ptr32 _RTL_CRITICAL_SECTION_DEBUG0x004 LockCount : Int4B0x008 RecursionCount : Int4B0x00c OwningThread : Ptr32 Void0x010 LockSemaphore : Ptr32 Void0x014 SpinCount : Uint4B 其中LockCount字段用来标识关键区的锁状态RecursionCount字段用来记录递归次数用来支持同一个线程多次进入关键区OwningThread字段用来记录进入拥有关键区的线程IDLockSemaphore用来记录这个关键区对应的事件对象当有线程需要等待这个关键区时便是通过等待这个事件来做到的这个事件对象是按需创建的如果LockSemaphore为NULL表示这个关键区从来没有线程在此等待过。 通过图6中的OwningThread738得知关键区被线程ID为738的线程所拥有即Enter之后一直没有Leave。 知道了是哪个线程获取了关键区但没有释放就可以很容易的在代码中定位问题了。 !cs -l !locks 没有显示LockSemaphore字段我们可以通过!cs -l 命令获取更为全面的关键区信息 从上图可以看到LockSemaphore0xC0正好是#1线程NtWaitForSingleObject的事件对象。
http://www.hkea.cn/news/14538151/

相关文章:

  • 建网站wordpress观音桥网站建设网站建设
  • 凡科建站如何制作论坛wordpress 多媒体播放
  • 做外快的网站服务器做ssr后还可以做网站吗
  • 浙江省城乡建设网站证件查询企业网站做备案
  • 广东东莞自己建站教程宁波网站建设制作公司排名
  • 西安网站建设加q479185700网站设计制作收费明细
  • 网站建设夬金手指排名壹陆建设网站费用计入什么费用
  • 网站建设更新维护工作图片展示网站php源码
  • 做参茸产品的网站wordpress主题手机制作教程
  • 邵阳网站设计南京佛搜做网站公司
  • 德阳手机网站建设电子商务公司的经营范围有哪些
  • 辽宁手机版建站系统信息桂林森禾医药有限公司
  • 番禺做网站多少钱雅布设计
  • 论坛网站建设公司做网站就找喇叭人
  • 如何利用站群做网站进一步加强区门户网站建设管理办法
  • 网站建设话语杭州网站建设科技有限公司
  • 湛江个人网站建设网站建设安全服务协议
  • 山西省住房建设厅网站下载wordpress 百度广告插件
  • seo搜索引擎优化工作内容优化什么
  • 新沂网站设计上海网站开发平台
  • 免费网站建设网站优化软件apache网站拒绝访问
  • win7怎么做网站映射自己建网站要花多少钱
  • 如何选择网站的关键词wordpress 获取头像地址
  • 青岛网站制作案例百事通做网站
  • 滨海做网站价格网站前端与后台必须同时做吗
  • 网站建设规划设计公司django做的网站源码
  • 深圳建网站终身免费网站建设
  • 山东省建设工程质量监督总站网站建站大师
  • 南昌做建网站的福步外贸官网
  • 国外经典设计网站做贸易上什么网站