假设我有一个包含100个函数的C++程序,每个函数有100个局部变量,每个函数都是一个数组,也许是1D,也许是2D,也许是3D,也许是动态分配的。 现在我正在调试程序,我必须检查所有变量是否正确。现在我简单地将fprintf()
他们自己的文件,然后检查文件中的数据。但是我必须在程序中编写许多fprintf()
语句和fopen(), fclose()
语句,这很丑陋。如何用很多数据调试C++程序来检查?
是否有更好的方法或工具,可以简化和自动化可能这个东西?
假设我有一个包含100个函数的C++程序,每个函数有100个局部变量,每个函数都是一个数组,也许是1D,也许是2D,也许是3D,也许是动态分配的。 现在我正在调试程序,我必须检查所有变量是否正确。现在我简单地将fprintf()
他们自己的文件,然后检查文件中的数据。但是我必须在程序中编写许多fprintf()
语句和fopen(), fclose()
语句,这很丑陋。如何用很多数据调试C++程序来检查?
是否有更好的方法或工具,可以简化和自动化可能这个东西?
您可以使用调试器这一点,但它会要求检查你自己的一切。 如果你想自动检查一切,只需编写单元测试并运行它们。
,并与100局部变量
有你的问题每个功能。切是让每个功能是100线(即使这样,它仍然是太多了!),你就会有一个战斗的机会
创建一个全球性的日志文件,并打开/关闭一次。 调试打印是一个强大的工具,但我想你还需要一个工具(编写自己)来比较结果文件。
这个问题的方式广泛回答,请张贴代码,输出与预期输出。 – uzr
如果你有一个像你所描述的程序,你*不要*调试它。你把它扔掉,然后回到制图板,从全新的改进设计开始。像这样的程序基本上是不可维护的。 –
你对特定的代码有特定的问题吗?还是纯粹的理论问题? – HolyBlackCat