开发者

windbg cant load sos clr

开发者 https://www.devze.com 2023-04-02 02:14 出处:网络
I\'m not sure that windbg is the right tool, but that\'s what I\'m trying now my asp.net app seems to have a memory leak, it keeps on growing by about 3 MB almost every time a page loads (then it goe

I'm not sure that windbg is the right tool, but that's what I'm trying now

my asp.net app seems to have a memory leak, it keeps on growing by about 3 MB almost every time a page loads (then it goes back down...)

I want to read the entire process memory and see exactly whats being stored that is unnecessary.

So I run windbg, attach to the webserver40.exe process

then I try

.loadby sos clr

and I get

The call to LoadLibrary(C:\Windo开发者_如何学Gows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193 "%1 is not a valid Win32 application."

Please check your debugger configuration and/or network access.

It seems that I have this sos.dll in Framework AND Framework64

I tried both using

.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos

but nothing loads

I don't understand why its looking for a vaild 32bit app. im on a 64bit pc with 64bit windows.

How can I get this sos thing to load?

Also when I start I get this warning

WARNING: Process 7240 is not attached as a debuggee The process can be examined but debug events will not be received

I also tried loadby sos mscorwks it didn't work, but I understand that was discontinued. I'm in asp.net 4

I also read somewhere that the code should be stopped in debug before loading sos, that just hangs VS 2010.

Thank you very much.

Again, if there's another tool that could better help me, I'm all ears :-)


WebDev.WebServer40.exe is a 32 bit executable. To debug that you need to use 32 bit WinDbg. Visual Studio, as well as Callipso server are still executing in 32 bit mode.

For your other question. Yes, WinDbg is a great tool to investigate memory leaks in managed code. This blog will get you started. However in your case I would not be so sure you have a memory leak.

  • You are saying that memory goes down eventually. This means it is not a memory leak, because a leaked memory never gets released.
  • Do not waste your time investigate memory problems in Callipso. There are a lot of differences between IIS and Callipso that would make your findings not applicable in production environment. Even if you find that Callipso is in fact leaking does not mean that IIS would be.
0

精彩评论

暂无评论...
验证码 换一张
取 消