【问题标题】:What's the story behind the name of the SOS (Son of Strike) debugger extension?SOS(罢工之子)调试器扩展名称背后的故事是什么?
【发布时间】:2010-08-26 07:40:28
【问题描述】:

“罢工之子”这个名字有什么意义?它有任何意义还是听起来很酷?

【问题讨论】:

    标签: .net debugging sos


    【解决方案1】:

    Jason Zander 的blog post 完美诠释了这一点:

    CLR 团队的原名 (由团队创始人和前任选择 微软杰出工程师迈克 Toutonghi)是“照明”。拉里 Sullivan 的开发团队创建了一个 ntsd 扩展 dll 以帮助促进 v1.0 的引导。我们称之为 strike.dll(明白了吗?“闪电 罢工”?是的,我知道,ba'dump bum)。 PSS 真的需要这个 将信息反馈给团队 是时候调试讨厌的压力了 失败,几乎总是发生 使用 Windows 调试器堆栈。但 我们不想把我们的全部 strike.dll,因为它包含一些 “危险”的命令,如果你 真的没有我们的源代码 可能会让你感到困惑和痛苦 (甚至对其他微软团队)。所以我 推动团队打造“Son of 罢工”(我们开发人员的西蒙拍摄 信用/责任),我们发货了 它以产品开头 埃弗雷特(又名 V1.1)。

    另外,我之前听说 CLR 被称为“COM+ 2.0”,但显然它在当时有几个名字(来自here):

    CLR 运行时位于一个名为 MSCOREE.DLL 的 DLL 中,它代表 Microsoft 公共对象运行时执行引擎。 “Common Object Runtime”或 COR 是该技术在其生命周期中拥有的众多名称之一。其他包括 下一代 Windows 服务 (NGWS)通用运行时 (URT)LightningCOM+COM+ 2.0

    【讨论】:

    • 深刻的历史。我一直想知道 SOS.dll 扩展名的缩写以及它的真正含义。事实上,我一直将 MSCOREE.dll 推测为 Microsoft CORe 执行引擎。感谢@chris 让我免于尴尬。
    【解决方案2】:

    不久前,在 Scott Hanselman 的播客中与 Tess Ferrandez 讨论了这一点。它源自 .NET 平台早期使用的内部代号。更多信息在show transcript

    【讨论】:

    • 你能提供一个总结吗?如果没有别的,因为链接腐烂(在这种情况下已经发生了)。
    • 显然 CLR 的代号是“Lightning”,因此调试扩展被命名为“Strike”,然后“Son of Strike”不知何故作为后代产生。
    【解决方案3】:
    微软的

    Mario Hewardt详细解释道:

    当微软最初开发 .NET 1.0 时,他们需要 用于类似于 SOS 的扩展,以便他们可以在其中调试故障 CLR 本身,他们使用了他们开发的扩展,称为 罢工。 Strike 的用处是非常明显的,而且作为微软 支持工程师将使用该扩展来确定客户的 问题,客户希望得到这个特殊的 扩展名。

    很遗憾,Strike 暴露了太多信息 关于 CLR 的内部结构,所以他们最终创建了一个稍微 它的精简版被称为 SOS,这就是公开的 在您的 .NET 框架安装中可用。

    真的很酷。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 2020-03-04
      相关资源
      最近更新 更多