C ++ VS2013调试器断点:未命中

时间:2014-09-16 19:42:55

标签: 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分钟)。

首先想到的是:改用前一个断点。但是,当我走到下一行时,我会看到一段代码,我知道它肯定没有执行(它完全在另一个函数中)。它继续以预定但不与源相关的模式跳转。请帮我。我对这个失去了理智!

在此问之前,我已广泛使用Google了。我尝试了以下事项:

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

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

欢迎任何建议。感谢。

1 个答案:

答案 0 :(得分:0)

我之前遇到过这个问题 试试这个:

  

文件 - >高级保存选项 - >
  设置'行结尾'到Windows(CR LF)'。