Yun Jin's WebLog

CLR internals, Rotor code explanation, CLR debugging tips, trivial debugging notes, .NET programming pitfalls, and blah, blah, blah...

Browse by Tags

Tagged Content List
  • Blog Post: Thread, System.Threading.Thread, and !Threads (III)

    I got email asking me to explain !Threads output in details. I think this is a good question and a good topic for another installment to the series. Here is an example I'll use for this post: 0:055> !threads ThreadCount: 202 UnstartedThread: 95 BackgroundThread: 1 PendingThread: 0 DeadThread...
  • Blog Post: Thread, System.Threading.Thread, and !Threads (II)

    With knowledge in my previous blog , we could avoid some mistakes in .NET programming. A C++ Thread is very resource heavy. It is associated with a lot of dynamically allocated memory and some OS handles. So it had better to be cleaned up ASAP after its corresponding OS thread dies. C++ Thread class...
  • Blog Post: Thread, System.Threading.Thread, and !Threads (I)

    If you use SOS’s !Threads command during debugging a lot, you should be familiar with such output: 0:003> !threads PDB symbol for mscorwks.dll not loaded Loaded Son of Strike data table version 5 from "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorwks.dll" ThreadCount: 12 UnstartedThread...
  • Blog Post: Special threads in CLR

    Question: How many threads does a typical managed process have when it just starts to run? Answer: regardless how many threads the user creates, there are at least 3 threads for a common managed process after CLR starts up: a main thread which starts CLR and run user's Main method, CLR debugger helper...
  • Blog Post: Thread safety of Timer callbacks

    I didn't realize I've stopped blogging for 1 year. What a shame! Fortunately I didn’t waste the time: we ship Whidbey Beta1 and Beta2 in the past year! Now with Beta2 out of door, I have more spare time for blogging. :) Today I want to talk about some interesting facts about Timer in CLR. There is...
  • Blog Post: FCall and GC hole - first post about Rotor

    An exsample of FCall My friend Joel Pobar had a great post to demo how to add new code to Rotor which exposes more EE(Execution Engine) internal information to managed world. This is a very good example covers both BCL and EE, and how the two parts interact with each other. As showed in this example...
Page 1 of 1 (6 items)