在eclipse中调试大输入

Debugging big input in eclipse

本文关键字:输入 调试 eclipse      更新时间:2023-10-16

不幸的是,我用C++编写的一个程序有一个或多个错误,但我无法推断它是什么,因为只有一个输出行与预期输出不匹配(输入文件有3K行输入)。我知道哪个输入行有问题,但它在输入文件中的行数超过2K,所以手动调试它不是很有效
有没有办法让调试器"单独"运行前2K行,并在尝试执行有问题的输入行之前停止?我使用Windows和eclipse,但不介意切换IDE或在必要时切换到Linux
提前感谢!

不要重新发明轮子!

Eclipse具有用于断点的powerfull特性Enable condition

  • 在代码中设置断点
  • 右键单击断点-"断点属性"
  • 勾选"有条件"
  • 编写断点应该停止时的条件(您可以访问范围和全局变量)

这是Eclipse帮助页面。断点启用条件(带屏幕截图)

嗯,eclipse很可能具有高级调试功能,说实话,我对eclipse一无所知,但FWIW可以很容易地模拟您想要的内容。

您拥有的是:

for(i = 0; i < lineCount; ++i)
   process one line

添加一个条件来检查行号,并在其中放置断点!:

for(i = 0; i < lineCount; ++i)
   if(i == 2000)
   {
       int x = i*i; //random line, just add your breakpoint here!
   }
   process one line

由于您确切地知道哪一行有问题,只需一个伪if语句即可检查该行的内容,如果计算出了问题行,则不执行任何操作,并在该行放置一个断点。