这让我很困惑。
我的理解是,当我 编译 应用程序时,它将成为我的操作系统读取的优化代码。我的源代码中的内容(如变量名,行号等)不再具有意义。
那么我怎样才能构建和运行像
这样的代码Second
并获取有关我的源代码的哪个部分可以解除异常的所有详细信息。
现在,我知道在.NET中,我的C#代码并不会成为低级"操作系统代码"而是微软中介语言。我猜测MIL为了生成这个异常信息,我在源代码和编译代码之间存在某种类型的映射。这似乎是一个巨大的浪费,不是吗?所以"编译"在.NET中,并不是真正将源代码翻译成机器代码;除了 源代码之外,它还会创建机器代码 。这意味着我的Windows机器上的所有应用程序都有与其源代码相关的元数据。
或者我对这一切完全错了吗?