sos

How to list running tasks in .net memory dump

杀马特。学长 韩版系。学妹 提交于 2019-12-18 12:36:23
问题 We have a complex ASP.Net Core application using async/await pattern. The app stopped to respond recently, and we took a memory dump for it. We suspect that there is some async operation that make the app stuck, but not sure which one. After taking memory dump for the web application, we can see very few running threads since the thread is returned to thread pool due to usage of async/await. The question is, is it possible to list running tasks in the memory dump, and where they have run to,

Unable to load SOS in WinDbg

你说的曾经没有我的故事 提交于 2019-12-17 07:59:29
问题 Background: I'm new to WinDbg and trying to get it running for the first time. I want to examine a memory dump I took from a running ASP.NET 4 site hosted in IIS 7 on Windows Server 2008 (x86) and downloaded to my local machine. I installed the debugging tools and launched WinDbg for the first time, opening the crash dump. I went to File | Symbol File Path and set the path to *srv*c:\symbols*http://msdl.microsoft.com/download/symbols* and waited for all the symbols to load. When trying to

How to get handle to an event that may cause my application to go in hang state

为君一笑 提交于 2019-12-13 06:52:34
问题 I am doing a dump file analyis for an application hang problem. Here is one interesting line from the stack trace. 0bc2f3e4 75a8bd1e 0bc2f298 0bc2f30c 00000001 ntdll!KiFastSystemCallRet 0bc2f32a 6a393c42 00000001 7ffdf000 00000001 kernel32!WaitForMultipleObjectsEx+0x8e Looking at WaitForMultipleObjectEx description in MSDN, the second parameter is const HANDLE *lpHandles. This make me thing that I should be able to do a !handle 7ffdf000 to figure out which event is it waiting for but when I

!clrstack -p not giving the values of the parameters for the methods in the call stack

▼魔方 西西 提交于 2019-12-12 08:28:00
问题 We are trying to analyze a w3wp memory dump using windbg and we found that w3wp process is crashing due to stack overflow. I loaded the psscor4.dll and got the call stack by issuing !clrstack. But I also want to know the paramaters being passed to the methods. If I issue "!clrstack -p" or "!clrstack -a", we are getting <no data> for all the Parameters and local variables. Any idea, why we are getting <no data> instead of actual values for the Parameters and local variables ? 回答1: If you're

“Failed to request ThreadStore” - WinDbg debugging live process

风流意气都作罢 提交于 2019-12-12 04:09:00
问题 I am debugging the live process (not dump) of PresentationHost.exe. It used to works fine, but suddenly few days ago I get the above error message. !Threads, !pe, virtually all SOS command doesn't work. All I remember is that I installed Visual Studio 2010 and .NET framework 4.0 before I'm getting that error. Is it related? UPDATE: I myself can not reproduce the problem I was having. Probably I was debugging 32 bit process with 64 bit debugger, or .NET 4 process with .NET 2.0 SOS, or vice

Debugging .net using SOS

杀马特。学长 韩版系。学妹 提交于 2019-12-12 01:34:19
问题 I have created a dump using clrdump. When I go to view it using sos, I load up sos and then run !dso, but the error I get is: PDB symbol for mscorwks.dll not loaded However, in the module window it says that the symbol is loaded. I have obtained the up to date symbols from the MS store? Anybody any ideas? Thanks, Darren. 回答1: You don't really need symbols for mscorwks.dll for !dso to work correctly, but here's some advice on how to get the symbols. First thing you need to do is to verify that

SOS.dll ObjSize and DumpObject under the hood intricacies. How to recreate SOS.dll in C#?

会有一股神秘感。 提交于 2019-12-11 12:48:13
问题 This question is largely based on my previous post found here. I'm attempting to recreate some of the functionality of the SOS.dll using reflection. Specifically the ObjSize and DumpObject commands. I use reflection to find all the fields and then if the fields are primitive types I add the size of the primitive type to the overall size of the object. If the field is a value type, then I recursively call the original method and walk down the reference tree until I've hit all primitive type

Host information from a crash dump file

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-11 09:48:58
问题 Is it possible to get information about the host where a dump file was been created e.g., OS version, service pack, .NET framework version etc. 回答1: OS version and so forth is listed automatically when you open the dump file. You can get the .NET framework version using the !eeversion command. 0:000> !eeversion 2.0.50727.4952 free Workstation mode SOS Version: 2.0.50727.4952 retail build To get additional information for loaded modules use the verbose option for lm . E.g. 0:000> lm vm mscoree

Lost in WinDbg with 64-bit dump on 32-bit machine

☆樱花仙子☆ 提交于 2019-12-11 06:29:07
问题 I'm a newbie with WinDbg and got this dump from the WER ReportQueue folder on a 64-bit Windows 2008 Server. I need to examine the dump and want to do so on my developer machine on which I've installed the Debugging Tools for Windows package. When I try to load SOS I got the following error which I've never seen before: 0:035> .loadby sos mscorwks The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos) failed, Win32 error 126 "The specified module could not be found."

Why locals and parameters show no data on the stackframe when using sos.dll to debug .net app?

北慕城南 提交于 2019-12-11 03:25:55
问题 My .net 4 asp.net application is processing a request, but the request is timeout, so I get a dump and try to debug the live app online( revised: just analyse the dump file, not attatch to the live process of the app.). I find a thread that consumes the request costs 1 min 5 sec. I go through the stack of that thread. I want to try to find out the parameters and local variables, but the command output shows no data, only some of the local variables have value. May I know why this happened?