2012年3月7日

摘要: 最近碰见的奇怪的问题:同事在生产环境(win2003 x64)抓取的dump文件,加载SOS.dll调试托管代码,看不到托管信息,经查看dump文件包含多个 .NET runtime: 0:000> lmvm clrstart end module name00000644`7f100000 00000644`7fa64000 clr (deferred) Image path: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\clr.dll... 阅读全文
posted @ 2012-03-07 23:47 debugdotnet 阅读(1221) 评论(1) 推荐(0) 编辑

2011年12月26日

摘要: windbg中默认的命令窗口,白底儿黑字,包括你输入的命令也是白底黑字,很难区分出来。如果可以在输入命令和输出内容有所区别就可以给调试带来很大的方便。可以在 windbg中选 "View" 的 "Options"在 "Colors" 里面找到: "Prompt level command window text" "Prompt level command windows text background"这2个 分别是命令的文字颜色和背景颜色,设置下这2就好了。下面再列出些别的 "Co 阅读全文
posted @ 2011-12-26 01:34 debugdotnet 阅读(510) 评论(0) 推荐(0) 编辑

2011年12月15日

摘要: 在.NET捕获异常时会有个当前堆栈信息;如果想在不发生异常的时候跟踪堆栈呢。StackTrace 类命名空间: System.Diagnostics程序集: mscorlib(在 mscorlib.dll 中)StackTrace st = new StackTrace(true);StackFrame[] sfArray = st.GetFrames();StringBuilder sbStackTrace = new StringBuilder();foreach (StackFrame sf in sfArray){ if (!string.IsNullOrEmpty(sf.GetMe. 阅读全文
posted @ 2011-12-15 14:46 debugdotnet 阅读(537) 评论(0) 推荐(0) 编辑

2011年12月8日

摘要: xml可以利用&#nnn;的格式显示特定的字符,nnn代表该字符的十进制Unicode代码,或者采用十六进制代码,在编码之前加上x字符即可(&#xnnn;) 在ASCII中 十进制大于等于32(16进制大于等于20)的"可显示字符",在XmlReader中读取(Read或者ReadToFollowing)是没有问题的,那么对于 十进制小于32(16进制小于20)的"控制字符",在XmlReader中读取过程中Read()时会忽略控制字符后面的内容,ReadToFollowing则会报异常。(这里十进制小于32的"控制字符&quo 阅读全文
posted @ 2011-12-08 16:28 debugdotnet 阅读(844) 评论(0) 推荐(0) 编辑

2011年11月29日

摘要: 前几天发现个奇怪的问题:如果页面的iframe写成这样:<iframe id="test" src="" />那后面的脚步都会失效...原因就是iframe的关闭写的不对,<iframe id="test" src="" ></iframe> 这样就ok了。顺便查了下XHTML和HTML的区别:XHTML 元素必须被正确地嵌套。XHTML 元素必须被关闭。标签名必须用小写字母。XHTML 文档必须拥有根元素。其中必须关闭这条非空标签必须使用结束标签:iframe就是非空标签空标签 阅读全文
posted @ 2011-11-29 15:36 debugdotnet 阅读(209) 评论(0) 推荐(0) 编辑

2011年10月8日

摘要: 索引聚集索引:唯一,并保持表中记录的物理顺序;非聚集索引:不一定唯一,与物理顺序无关,聚集索引的引用。当表有无索引、聚集索引时候在查询分析器中的迭代器:扫描查找堆(Heap)表扫描(Table Scan)表扫描(Table Scan)聚集索引(Clustered Index)聚集索引扫描(Clustered Index Scan)聚集索引查找(Clustered Index Seek)非聚集索引(Nonclustered Index)索引扫描(Index Scan)索引查找(Index Seek)单列索引命中(we have a single-column index on a column 阅读全文
posted @ 2011-10-08 00:10 debugdotnet 阅读(194) 评论(0) 推荐(0) 编辑

2011年10月5日

摘要: 在用windbg调试dump的时候,运行SOS扩展命令可能会出现mscordacwks.dll加载错误,如下:Failed to load data access DLL, 0x80004005 Verify that1) you have a recent build of the debugger (6.2.14 or newer)2) the file mscordacwks.dll that matches your version of mscorwks.dll isin the version directory3) or, if you are debugging a dump 阅读全文
posted @ 2011-10-05 20:51 debugdotnet 阅读(851) 评论(0) 推荐(0) 编辑

2011年10月3日

摘要: 又1个性能计数器与站点的对应问题,要是IIS上只跑了1个站点好说,想都不用想因为只有1个实力,可当有多个实例的时候怎么才知道哪个是你想看的站点呢,这里说的是"ASP.NET Applications"计数器,类型下面的截图"ASP.NET Applications"计数器 的实力命名是有规范的:_LM_W3SVC_<Identifier>_Root_<VirtualDirectory>就是标识符 和 虚拟目录,其他都是固定的,这个标识符就是和站点唯一对应的标识。那怎么确定标识符和站点的对应呢,一种方式是在 MetaBase.xml 阅读全文
posted @ 2011-10-03 23:17 debugdotnet 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 遇到过的问题:当你的IIS上运行这很多个站点,每个站点的w3wp进程对应一个pid,当你想要在性能计数器(perfmon)中想要查看某一个站点的 ".NET CLR Memory" 会有些困惑,这里只有类似"w3wp#1","w3sp#2"...这样的实力名。那么将这些实力名对应到系统pid上就很重要了,在".NET CLR Memory"内有"Process ID"计数器,这个计数器备选的各个实力,其值就是对应系统pid。如果".NET CLR Memory"内没有&quo 阅读全文
posted @ 2011-10-03 22:55 debugdotnet 阅读(576) 评论(0) 推荐(0) 编辑

2011年10月1日

摘要: 这里先感谢大妈的分享,很好很强大。这里回顾下性能问题的定位:IO的逻辑读取和物理读取set statistics IO on性能优化的重点也就是尽量减少逻辑读取(是查询所需访问从缓存区页的次数 每页8k),避免物理读取(从磁盘读取的页数)。CPU的编译时间和执行时间set statistics time on单位时间内增加执行时间而减少编译时间,可以采用存储过程或者参数话的方式。这里有些练习,同样的sql在大小写不同或者换行情况下是否被重新编译成新的执行计划USE Northwind2;DBCC FREEPROCCACHE;GOSELECT * FROM orders WHERE custom 阅读全文
posted @ 2011-10-01 22:39 debugdotnet 阅读(271) 评论(0) 推荐(0) 编辑

导航