Visual Studio 2017,C++,在单步执行代码时指向错误的行

oknwwptz  于 2023-11-21  发布在  其他
关注(0)|答案(3)|浏览(126)

在某些文件中,调试器在单步执行代码时指向错误的行。准确地说,它只差一行(总是)
我已经尝试过的:

1) normlized line-endings in all of the files
2) wiped out all of the PDB files
3) wiped out the entire debug folder
4) rebuilt the entire project
5)ensured that optimisation for the entire solution and projects within it it is turned-off (/Od switch enabled)
6)ensured that libraries (*.LIB) to which source code I have access to, have had their optimisation disabled and use the same threading mode as the main executable.
7) rebooted PC / VS

字符串
项目设置为x64脚本,使用SQLite3 LIB和DLL,OpenCL.lib
错误文件中的示例:

int a = 0;
   a++;
=> a++; //debugger points at this line, though the value of 'a' is already equal to 2
   a++;


一个文件有问题,而另一个可能没有。我还没有发现任何受影响的文件和他们的内容之间的相关性。

9vw9lbht

9vw9lbht1#

原来我使用了stack post中描述的最受欢迎的方法来“规范化”整个项目中的行尾。似乎它没有**工作。在使用Visual Studio规范化行尾之后,一切都很好。
因此,对于其他有此问题的人,只需重新启用自动行结束修复,如果禁用,通过转到Tools=>Options=>Environment=>Documents并启用'check for consistient line endings on load'。然后重新处理有问题的文件。

qyyhg6bp

qyyhg6bp2#

在我的情况下,我发现我实际上需要关闭项目,然后删除主exe项目文件夹和任何dll项目文件夹中的binobj文件夹。Visual Studio将在下一次打开解决方案时自动重新创建空的binobj文件夹。此时,重建项目将修复此问题。

oyxsuwqo

oyxsuwqo3#

接受的答案对我不起作用,但我不必去删除bin/obj文件夹。一个简单的清理和重建解决方案在VS 2022中为我做了。

相关问题