Asp.net windbg超高负载sos clr
我不确定windbg是否是正确的工具,但这正是我现在正在尝试的 我的asp.net应用程序似乎有内存泄漏,几乎每次加载一个页面时,它都会以大约3MB的速度不断增长(然后又会下降…) 我想读取整个进程内存,看看到底存储了什么是不必要的 所以我运行windbg,连接到webserver40.exe进程 然后我试着Asp.net windbg超高负载sos clr,asp.net,debugging,memory,windbg,sos,Asp.net,Debugging,Memory,Windbg,Sos,我不确定windbg是否是正确的工具,但这正是我现在正在尝试的 我的asp.net应用程序似乎有内存泄漏,几乎每次加载一个页面时,它都会以大约3MB的速度不断增长(然后又会下降…) 我想读取整个进程内存,看看到底存储了什么是不必要的 所以我运行windbg,连接到webserver40.exe进程 然后我试着 .loadby sos clr 我得到 调用LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos)失败,Win32错
.loadby sos clr
我得到
调用LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos)失败,Win32错误0n193
%1不是有效的Win32应用程序
请检查调试器配置和/或网络访问
似乎我在Framework和Framework64中有这个sos.dll
我试着用这两种方法
.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos
但什么也装不下
我不明白为什么它在寻找一个32位的应用程序。我在一台64位windows的64位pc上
我怎样才能让这个sos东西加载
当我开始的时候,我也收到了这个警告
警告:进程7240未作为调试对象附加
可以检查进程,但不会接收调试事件
我还尝试了sos mscorwks加载loadby
,但它不起作用,但我知道已经停止了。我在asp.NET4中
我还读到,在加载sos之前,代码应该在调试中停止,这只是挂起VS 2010
多谢各位
再说一次,如果有其他工具可以更好地帮助我,我洗耳恭听:-)WebDev.WebServer40.exe是一个32位的可执行文件。要调试,您需要使用32位WinDbg。VisualStudio以及Callipso服务器仍在32位模式下执行 关于你的另一个问题。是的,WinDbg是调查托管代码中内存泄漏的一个很好的工具。会让你开始的。然而,在你的情况下,我不会那么肯定你有内存泄漏
- 你是说记忆最终会消失。这意味着它不是内存泄漏,因为泄漏的内存永远不会被释放
- 不要浪费时间调查Callipso中的内存问题。IIS和Callipso之间存在很多差异,这会使您的发现不适用于生产环境。即使您发现Callipso实际上正在泄漏,也不意味着IIS会泄漏李>
选择*Redistributable Packages*下的*debuging Tools*选项,下载所有三个版本的调试工具(x86、x64、安腾)。