Always Debug

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  7 随笔 :: 0 文章 :: 38 评论 :: 0 引用

公告

2009年6月27日 #

摘要: 公司的开发环境\测试环境和生产环境的区别都比较大.每次新版本启动前,都需要很长的时间来调试测试环境,很大一部分工作都在于改数据库链接,接口地址.然而看似简单的活却总是存在问题。上周五配置完环境出现了一个现象:cpu和内存的使用都很低,但网页却要很长的时间才能显示...阅读全文
posted @ 2009-06-27 17:43 dbgeng 阅读(2745) 评论(6) 编辑

摘要: 问题描述:公司合作的一个酒店预订网站需要在页面上投广告,但对方给了一个flash文件,要求链接到其首页。直接在html的flash object前面加上<a href... ,发现链接是点不动的,网上找到的解决方案是用一个透明的大button包在flash的最外层,或是用一个层盖住flash,然后定义button的onclick事件,但这种方式在firefox下工作不正常。同时用户最关心的seo作用消失了,因为这不是一个正常的链接,是用javascript实现跳转的...阅读全文
posted @ 2009-06-27 16:02 dbgeng 阅读(2553) 评论(2) 编辑

2009年6月12日 #

摘要: 几天前写的[Debug实践]windbg+性能监视器解决一个内存泄漏问题(非托管资源) 随笔中,解决了一个非托管资源泄漏的问题,加一个兄弟篇:) 现象:服务器内存占用突发性升高,从任务管理器中看w3wp.exe占用内存1G多,CPU占用率不高 分析过程:这些年来碰到的大多数内存占用过高问题都是托管资源类的,看到系统中的报警,第一直觉便是采集服务器上的dump文件...阅读全文
posted @ 2009-06-12 20:59 dbgeng 阅读(2205) 评论(3) 编辑

摘要: 高CPU是网站服务器常见的一种故障,很多windbg教程中都拿高CPU做例子。3月份我在公司服务器上也碰到一次,整个debug过程十分顺利且常规,但最终找到的原因却很有意思,与一个挂马行为有关。 现像:网站服务器的w3wp进程经常出现突发性的高CPU,如下图week15-16处所示。修正后的效果还是很明显的... 阅读全文
posted @ 2009-06-12 13:50 dbgeng 阅读(2587) 评论(5) 编辑

2009年6月10日 #

摘要: 今天下午解决一个困扰多天的内存问题,将分析过程记录一下 问题描述: w3wp内存慢慢升高,最后大约会达到1.3G左右,Cpu资源并不是很紧张 分析过程: 之前碰到的几次问题都是托管内存泄漏,按以往的经验直接在内存高点时dump了一个文件,一个1.4G大的文件,windbg打开, 0:000> !eeheap -gc GC Heap Size 0x22cf6b80(584018816) 因为最近一个缓存的项目刚上线,将一些数据直接放到了内存中,500多M算是一个意料中的大小...阅读全文
posted @ 2009-06-10 18:35 dbgeng 阅读(3446) 评论(16) 编辑

2009年6月8日 #

摘要: 公司使用的服务器装的是64位的2003系统,以32位的形式运行着iis6. 从任务管理器中看到w3wp.exe进程后面加上了*32标识, 而服务器上会同时存在x64和x86目录, 如果直接运行 ntsd -pv -p 5756 -logo d:\out.txt -lines -c ".dump /ma d:\testlocal.dmp;q" 来生成一个dump文件,则会直接调用x64目录内的ntsd, 这时取到的相关信息是wow64兼容层的,并非用户的32位程序, 用32位的windbg打开testlocal.dmp,看到的堆栈中会包含wow64相关内容,而非用户所想看的32位程序堆栈。阅读全文
posted @ 2009-06-08 15:03 dbgeng 阅读(1264) 评论(1) 编辑

摘要: 最近服务器上某些进程的内存使用会突然升高,于是写了一个脚本在内存占用高点时抓取dump以便分析. 期间走了不少弯路才找到vbscript控制进程时的属性名,随笔记录一下 objprocess的常用属性: 'MsgBox "Process: " & objProcess.Name & objProcess.UserModeTime 'MsgBox "Process ID: " & objProcess.ProcessID 'MsgBox "Thread Count: " & objProcess.ThreadCount 'MsgBox "Page File Size: " & objProcess.PageFileUsage 'MsgBox "Page Faults: " & objProcess.PageFaults 'MsgBox "Working Set Size: " & objProcess.WorkingSetSize 阅读全文
posted @ 2009-06-08 13:40 dbgeng 阅读(2459) 评论(5) 编辑