繁体   English   中英

在Eclipse中调试大输入

[英]Debugging big input in eclipse

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

嗯,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语句,它会检查该行的内容,并且如果对您的问题行进行了数学计算,则不执行任何操作-并在该行上添加breakoint。

不要重新发明轮子!

Eclipse具有强大的功能“为断点Enable condition ”。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM