【问题标题】:What is __unwind$ in a linker map file链接器映射文件中的 __unwind$ 是什么
【发布时间】:2026-02-10 02:15:01
【问题描述】:

对于 VS2008 (C++) 生成的链接器映射文件,符号“__unwind$”是什么意思?我的应用程序的链接器映射文件中有很大一部分。

我有一个日志说崩溃发生在一个特定的偏移量,比如“x”。当我查看这个偏移量的链接器映射时,我发现这个 __unwind$41357 对应于该偏移量。

一般还有什么参考资料可以理解链接器映射文件的文件格式吗?

【问题讨论】:

    标签: c++ visual-c++ linker


    【解决方案1】:

    只是一个猜测,但我想说它是在抛出异常时处理堆栈展开的代码的一部分。

    【讨论】:

      【解决方案2】:

      当抛出异常时,堆栈会发生“展开”。 __ 前缀表示编译器生成的符号。因此,根据描述,您会在投掷和接球之间发生崩溃。我的假设是调用的析构函数是从__unwind$ 函数调用的。内联析构函数没有自己的堆栈帧,因此它会显示在调用 __unwind$ 函数中。

      【讨论】:

        最近更新 更多