今天调试一个小程序,下完断点开启调试时,发现断点老是自动打在原来打的地方后面一段位置,最后发现了原因:
VS2019调试是根据汇编语言来调的,有些C语言语句单独是不对应汇编语言的,因此,断点会顺延到下一条有汇编意义的C语言语句。
例:
执行f()函数,在第6行:int a;处下断点,执行。
结果断点跑到第七行。
此时按上方菜单
调试–>窗口–>反汇编 查看对应汇编语句:
发现单独int a;是不对应汇编语言的,因此在此处下断点无意义,断点就自动顺眼到之后的语句了。
今天调试一个小程序,下完断点开启调试时,发现断点老是自动打在原来打的地方后面一段位置,最后发现了原因:
VS2019调试是根据汇编语言来调的,有些C语言语句单独是不对应汇编语言的,因此,断点会顺延到下一条有汇编意义的C语言语句。
例:
执行f()函数,在第6行:int a;处下断点,执行。
结果断点跑到第七行。
此时按上方菜单
调试–>窗口–>反汇编 查看对应汇编语句:
发现单独int a;是不对应汇编语言的,因此在此处下断点无意义,断点就自动顺眼到之后的语句了。