Home / ASP.NET Weblogs

Latest Microsoft Blogs

Browse by Tags

Related Posts

  • New Psscor2 commands – Dealing with Dates and Times

    If you have ever tried to look at a System.DateTime or System.TimeSpan object in a debugger, you know how difficult it is to see what the value is.  For example, this is what a System.DateTime object looks like: 0:017> !do 0x040f59b8 Name: System.DateTime MethodTable: 60809f0c EEClass: 605e1fd8 Size: 16(0x10) bytes GC Generation: 2 (C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll) Fields: MT Field Offset Type VT Attr Value Name 6080ab9c 40000f4 4 System.UInt64 1 instance 633739266270770000 dateData 6082aa5c 40000f0 30 System.Int32[] 0 shared static DaysToMonth365 >> Domain:Value 0097ce58:03d6cad0 << 6082aa5c 40000f1 34 System.Int32[] 0 shared static DaysToMonth366 >> Domain:Value 0097ce58...


  • New Psscor2 commands – ClrStack showing source and line numbers

    Continuing on from my previous post about DumpAllExceptions , here is another new update that comes with psscor2.  When you run !clrstack, you will now see the source and line information for the functions that are displayed.  This can be really helpful when trying to track down where a problem is and what path through your code this execution has taken. You don’t have to do anything to make this output display, it will automatically at the end of the line. The output will look something like: 02b9ef98 687db33a MyFile.DoWork(System.Web.HttpContext) c:\MyFile.cs:3710 .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space...


  • New Psscor2 commands – DumpAllExceptions

    There have been a few places where you can see this command run, but I wanted to talk about it here officially.  This command is used to display all of the exceptions that are currently in the managed heap.  One interesting thing is that this function actually looks at what class the object derives from and if it derives from System.Exception, then it will show up in the list.  So you can have your own custom exceptions shown here regardless of what naming mechanism you use for your class. There is some helpful information about the output from this command here: ASP.NET Debugging - ASP.NET Tips- DumpAllExceptions , namely that if you run it twice, you may see different callstacks from the various exceptions. Here is the documentation...


  • New debugger extension for .NET, Psscor2, released

    I wanted to be the first to inform everyone that there is a major update to the debugger extension story for .NET.  Psscor2 has been released!  This is a superset of the SOS.dll that ships with the framework. This extension has a lot of advantages over SOS if you are trying to troubleshoot problems, especially if they are caused by ASP.NET.  All of the functionality that has been talked about on this blog for the SOS that comes with the debugger is now available for .NET Framework 2.0, 3.0, and 3.5. This one extension will troubleshoot all of those versions. I will be getting into the new commands and talking more about this in the coming weeks.  But I wanted to let everyone know and have you all go download the extension...


  • Debugging .NET apps for .NET 4.0

    With Visual Studio 2010 and .NET 4.0 getting ready to be shipped sometime in the next year, I wanted to see what were peoples ideas for how to debug applications that were written with them.  Are you happy in production with what you are currently doing?  Do you use SOS.dll to troubleshoot problems? SOS The main place I am really interested in is production debugging.  Is SOS a sufficient tool to get the data that you need?  If you had another version of SOS for .NET 4.0, would you be happy with the features it has or would you want something more? Debugger I understand that using a typical debugger can be very difficult for people.  If you don’t know what you are looking at, it can be very difficult to understand what...


  • Who uses SOSEX and what for?

    Another thing I am curious to know is if anyone is using SOSEX and what advantages it gives you for debugging.  I have talked to the author of it and I think it has a lot of useful commands, just wanted to get everyone’s take on it. Let me know any problems you have with it also. If you don’t know what SOSEX is, take a look at: Steve’s blog Read More...


  • Debugger Extension update

    The debugger extension that we were working on getting out with the debugger package has hit some roadblocks and it looks like it isn't going to be shipping with the debugger anytime soon. We are looking to see if we can find an alternative method to get it out.  But for the meantime, just stay tuned and I'll let you know when I find something out. I know the additional functions will be a lot of help to everyone that uses it so hopefully we can get something to you soon.  I'll keep this blog updated with the latest. Read More...


  • SOS Tip: Using help

    This is just a quick little note to remind everyone that the !help command in sos can be very helpful.  Not only does it list all of the possible commands, but if you run it and pass it the name of a command, it will print out a bunch of really useful information for that command. For example, if you look at the help for !dumpheap: !help dumpheap You will see, for example, the syntax that you can use to pass the list of objects returned from !dumpheap -mt to a .foreach command. I use the help a lot to check on the different switches and also for reminders like with .foreach, when to use a ( and when to use a {.  Those always seem to trip me up. Another really useful command inside help is the FAQ.  If you run !help faq, it will...


  • SOS Best Practice: Match the SOS version with the process being analyzed

    I haven’t seen a whole of of issues around this as of yet, but now that 3.5 SP1 has released that may change.  If you copy SOS.dll to another location and then load it out of that directory to troubleshoot dumps, you may start seeing problems.  Namely, things like !clrstack not returning any valid names for functions and just printing out the numbers.  For example: 0:006> !clrstack OS Thread Id: 0x1154 (6) ESP EIP 0154cfdc 7614f35f [HelperMethodFrame: 0154cfdc] 0154d080 5fb7b8cd 0154d094 5fb7b78b 0154d0bc 5fd26907 0154d0d0 5f95a87c 0154d0e8 5f959458 0154d108 5f9634f1 0154d124 5f96342d 0154d150 65525e55 0154d17c 5e339ea3 0154d1f8 5e33ce4d 0154d37c 5e3400cc 0154d380 5dd60d14 0154d3b4 5e56def3 0154d408 5dce876b 0154d438 5dd12799...


  • SOS Feature Requests for the Future

    I know I have asked a similar question in the past, but what I would like to know now is, without any bounds on what it can do, what would you like to see from a troubleshooting tool for .NET? I am thinking about doing something radically different and would like to get some suggestions from everyone as to what you would like to be able to do.  This can be anything, so don’t limit yourself to how things function now.  If you want the tool to do more work for you, or help you narrow your focus, that is the stuff I want to hear about. For example: I would like to be able to run a command and have it tell me if most of my memory is managed and what the largest leaking object type is and who allocated it.  Or, I want to know where...


Page 1 of 2 (19 items) 1 2 Next >

Archives