C++ VS2013 调试器断点 : Not Hit

标签 c++ debugging visual-studio-2013

我有一个相对简单的 C++ 控制台项目,它执行一些计算并编写输出文件。我试图确定为什么输出文件没有正确的输出。相反,我一直在与调试器作斗争。

出于某种原因,我无法在某个函数的某行之后添加断点

enter image description here

第 1106 行之后到第 1214 行(函数末尾)的所有断点均不可访问。

enter image description here

编辑: 我已将第一张图片中显示的特定代码移到函数中,它没有问题,但现在我无法在第 1079 行和函数结束之间中断。我重命名了该函数,但这没有任何区别。

当我查看反汇编时,我注意到第 1078 行有一件奇怪的事情:

enter image description here

我不确定这是否有所不同,但 1078 之后的语句(第 962 行)引用了一个名为 CSVData 的字符串类型的对象。该字符串创建为空白,但在运行时填充了大量字符。我最初在考虑堆栈溢出(没有双关语),但断点在应用程序启动时被禁用,这是在填充 CSVData 对象之前很久(10-15 分钟)。

第一个想法是:改用之前的断点。但是,当我进入下一行时,它会将我带到一段我确定不会执行的代码(它完全在另一个函数中)。它继续以预定但与源无关的模式跳来跳去。请帮我。我对这个失去了理智!

在这里提问之前,我已经广泛搜索了这个。我尝试了以下操作:

  • 删除所有文件
  • 正在创建新的 Win32 控制台项目并仅添加 5 个头文件和 5 个源文件。
  • 重置 Visual Studio 设置
  • 禁用优化
  • 取消选中“要求源文件与原始版本完全匹配”
  • 使用“调试”配置
  • 使用Notepad++验证EOL字符

我认为可能导致此问题的一个问题是 Intel Parallel Studio Composer XE 2015 for Fortran,因为它为 FPP 项目添加了内联和优化选项。我已卸载并重新启动以尝试从该安装中删除任何问题。

欢迎提出任何建议。谢谢。

最佳答案

我以前遇到过这个问题。
试试这个:

File->Advanced Save Options->
set 'Line endings' to 'Windows (CR LF)'.

关于C++ VS2013 调试器断点 : Not Hit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25877144/

相关文章:

c# - 在什么情况下,C#中的赋值不能更改变量的值?

visual-c++ - 在 Visual Studio 2013 中显示构建时间?

c++ - Visual Studio 缺少 msvcr120d.dll 和 msvcp120d.dll 错误

c++ - 将静态库与 dll 链接的正确方法

c++ - 如何解决C6386警告?

c++ - 如何用无限循环停止QThread

java - 如何找到所谓的线程

c++ - 子进程更新共享的mmap内存,但父进程未更改

c++ - 从外部应用程序附加子窗口时的消息循环(泵)

javascript - Chrome 断点停止工作 - 查看带有 VM 前缀的不同文件