- 博客(13)
- 收藏
- 关注
原创 Unable to load image C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorwks.dll, Win32 error 0n2
抓到一个mini dump,执行!clrstack,会提示如下错误:*** WARNING: Unable to verify timestamp for mscorwks.dllFailed to load data access DLL, 0x80004005Verify that 1) you have a recent build of the debugger (6.2.14 or
2008-03-13 12:32:00 3366
原创 多年前的《曹操传》存档修改器
sourcecode丢失了,。只剩下了exe和dll文件。原来使用bcb3写的,其实这种静态的存档修改器,主要就是对于文件格式的分析了。及时的存盘和fc/b,基本上就能把一个结构分析的差不多。写过好几个游戏的,这个特殊一点,因为头像及所有的图形信息,都在resource dll中,所以直接读取就可以了。.net下如何读取老的resource dll,我没试验过。如果没有简单的class,按么dll
2008-03-12 16:50:00 5362 1
原创 XmlSerializer带来的性能问题及解决办法
(本文中的思路、二元hashtable等,大力感谢Leo Chen的帮助!)对于XmlSerializer带来的内存占用过高,最终导致Out Of Memory的问题,参见以前这个链接:http://www.cnblogs.com/juqiang/archive/2008/01/15/1039936.html(但是那篇文章中对于XmlSerializer构造方法的说明,是错误的。那段代码没有问题,
2008-03-12 16:45:00 1984
原创 网站High CPU分析
网站升级后,说有High CPU的问题。mstsc上去后,看了一下,果然如此,w3wp.exe的cpu几乎一直是满的,我的远程桌面操作也很慢。下载下来windbg,装好,抓了两个dump。首先!runaway一下,0:022> !runaway User Mode Time Thread Time 22:8cc 0 days 0:17:15.238 23:4d8
2008-03-12 16:44:00 1356 1
原创 System.Data.SQLClient.SqlConnection在Open之后为什么需要及时Close?
如果System.Data.SQLClient.SqlConnection(下面简称dbconn)不及时Close,那么造成的后果可以在这里看到:http://www.cnblogs.com/juqiang/archive/2005/12/10/294269.html具体的原因,我们来看代码(用reflector反编译.net framework 2.0的dll)dbconn有一个方法叫做:Ope
2008-03-12 16:43:00 1654
原创 Basic Windbg - 2 CLR基础
调整一下写的思路,第一部分的sos basics继续有效,原定的crash/hang/memory等,序号顺延,中间插入这个clr basics创建一个控制台程序,代码如下:Codeusing System;using System.Collections.Generic;using System.Text;namespace HelloWindbg{ class Program
2008-03-12 16:41:00 818
原创 Basic Windbg - 1. SOSBasics(总结)
我们都知道,对于字符串相加,建议使用StringBuilder,而不是普通的string concat,为什么呢?我们通过dump简单看一下。先看这个代码:CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1using System; 2u
2008-03-12 16:39:00 534
原创 Basic Windbg - 1. SOSBasics(再续)
我们的查看对象之旅,还远没有结束。继续按照前前一篇的代码来扒皮。上节讲的是通过!dso,找到所有stack上的东西,下面我们看heap上的东西。首先,整体上先来了解一下。我们这里会用一个新命令,叫做!eeheap(叹号+eeheap)。它有两个参数,一个叫-gc,一个叫-loader。后者,葡萄在他的书里面写过一个case,因为load的东西太多,造成了内存巨量的碎片,导致OOM出现。对于前者,会
2008-03-12 16:37:00 496
原创 Basic Windbg - 1. SOSBasics(续)
书接上回,我们开始看另外几个命令。大家如果注意看我的代码,能发现里面既有value type,也有reference type。那么,我怎么查看,当前线程状态下,我的那些变量的信息呢?对于托管代码而言,最核心的命令就是!do(dump object的缩写),这个!do后面是要加上你要看的变量的地址的。那么,我怎么知道我的变量的地址呢?先来看另外一个命令,!dso(Dump Stack Object
2008-03-12 16:34:00 678
原创 Basic Windbg - 1. SOSBasics
看代码先。这是一个控制台程序,通过这个程序,我们来初步接触一下windbg如何使用。(代码你可以自己创建一个console application,然后把我下面代码全部覆盖上去即可,用vs2002/03/05/08皆可)请耐着性子,下拉滚动条,看下面的介绍。CodeCode highlighting produced by Actipro CodeHighlighter (freeware)h
2008-03-12 16:32:00 1155 1
原创 Basic Windbg - Introduction
windbg的下载 打开google:http://www.google.cn,然后搜索这个关键字:debugging tools for windows,search的结果的第一行,就是windbg的下载路径。如果你懒的搜,那么直接访问这个地址也可以:http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx,根据你
2008-03-12 16:29:00 535
原创 Basic Windbg - 导读
导读: 为什么我们需要debug?原因大概有几个,几乎都是在生产环境下,我们解决不了的: 1、系统就是慢。稍微懂点的客户,拿taskmgr一看,说你的aspnet_wp.exe或者w3wp.exe占用cpu太高,或者内存太高,dba到sql里面一看,说cpu太高。sql的我以前写过,这里不讲,对于前者.net的程序,你怎么处理? 2、cpu很低,内存很平稳,系统就是慢,你怎么处理?
2008-03-12 16:17:00 498
原创 我的博客
博客堂的:http://blog.joycode.com/juqiang博客园的:http://www.cnblogs.com/juqiangmsn space的:http://qiangju.spaces.live.com以及http://juqiang.spaces.live.com
2007-12-10 17:26:00 432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人