使用/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
相关产品推荐
相关产品推荐

