What's the story behind the name of the SOS (Son of Strike) debugger extension?
Asked Answered
F

3

47

What's the significance of the name "Son of Strike"? Does it serve any meaning or does it just sound cool?

Forty answered 26/8, 2010 at 7:40 Comment(0)
F
62

Jason Zander's blog post explains it perfectly:

The original name of the CLR team (chosen by team founder and former Microsoft Distinguished Engineer Mike Toutonghi) was "Lighting". Larry Sullivan's dev team created an ntsd extension dll to help facilitate the bootstrapping of v1.0. We called it strike.dll (get it? "Lightning Strike"? yeah, I know, ba'dump bum). PSS really needed this in order to give us information back to the team when it was time to debug nasty stress failures, which are almost always done with the Windows debugger stack. But we didn't want to hand out our full strike.dll, because it contained some "dangerous" commands that if you really didn't have our source code could cause you confusion and pain (even to other Microsoft teams). So I pushed the team to create "Son of Strike" (Simon from our dev takes credit/blame for this), and we shipped it with the product starting with Everett (aka V1.1).

Also, I had heard of the CLR being referred to as "COM+ 2.0" before, but apparently it's had a few names in its time (from here):

The CLR runtime lives in a DLL called MSCOREE.DLL, which stands for Microsoft Common Object Runtime Execution Engine. "Common Object Runtime," or COR, is one of the many names this technology has had during its lifetime. Others include Next Generation Windows Services (NGWS), the Universal Runtime (URT), Lightning, COM+, and COM+ 2.0

Flatworm answered 26/8, 2010 at 7:49 Comment(1)
Insightful history. I always used to wonder about SOS.dll extension's abbreviation and what could it really mean. and In fact I always used to speculate MSCOREE.dll as Microsoft CORe Execution Engine. Thanks @chris for saving me from an embarrassment.Marquardt
C
5

This was discussed in a Scott Hanselman podcast with Tess Ferrandez a while back. It derives from an internal codename used early in the .NET platform. More info in the show transcript.

Cenac answered 26/8, 2010 at 7:47 Comment(2)
Can you provide a summary? If nothing else, because of link rot (which has already happened in this case).Rhombohedral
Apparently the codename for the CLR was "Lightning" and so the debugging extension was named "Strike", then "Son of Strike" arose somehow from that as a descendant.Cenac
D
1

Mario Hewardt of Microsoft explained with details:

When Microsoft was originally developing .NET 1.0, they had the need for an extension similar to SOS so that they can debug failures within the CLR itself and they used an extension that they developed called Strike. The usefulness of Strike was very apparent, and as Microsoft support engineers would use that extension to figure out customer's problems, customers wanted to get their hands on this particular extension.

Unfortunately, Strike exposed a little too much information about the internals of the CLR, so they ended up creating a slightly trimmed down version of it known as SOS, and that's what's publicly available in your .NET framework installation.

.NET sos extension for Windbg

Really cool.

Doreendorelia answered 31/1, 2021 at 10:23 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.