You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用/INCREMENTAL:NO致函数序言反汇编异常,是否为VSIDE Bug?

Visual Studio调试器在/INCREMENTAL:NO参数下函数序言反汇编异常问题

问题描述

当向link.exe传递/INCREMENTAL:NO参数时,Visual Studio IDE调试器有时无法准确定位函数起始地址,导致函数序言的反汇编结果不正确。

复现代码

#include <stdio.h>

int func2()
{
    int retv = 0;
    retv += 3;
    return retv;
}

int func1()
{
    int retv = func2();
    return retv;
}

int main(int argc, char* argv[])
{
    int retv = func1();
    return retv;
}

复现步骤

  • 在func2函数的第7行(retv += 3;)设置断点
  • 按F5启动调试,待调试器停在断点处后,查看func2的反汇编序言
  • 对比两种链接参数的结果:
    • 使用/INCREMENTAL:NO时,func2的第一条机器指令反汇编错误
    • 不使用该参数时,反汇编结果正常

测试环境

已在以下Visual Studio版本中确认该现象存在:

  • VS2010 SP1
  • VS2019 16.11
  • VS2022 17.6

求助

请问该现象的成因是什么?这是否属于Visual Studio IDE的Bug?

内容的提问来源于stack exchange,提问作者Jimm Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:03:13