定义每个函数c ++的行为

时间:2012-02-25 06:36:28

标签: c++ validation testing

有没有人知道如何定义一些在C ++程序中的每个函数或行上调用的行为?

我想通过实质上使其在应用程序中的某些点退出来验证我的软件,并确保该进程的下一次启动可以处理该进程先前死亡的所有点的恢复。 / p> 基本上,我正在寻找一种在C ++中编写脚本失败的方法,这样我就不必使用某些宏定义点,只需告诉应用程序基本上循环遍历所有这些“死点”并确认流程可以从它们中的每一个中恢复,以自动方式完成所有这些。

我可以很容易地创建一个名为DEATH_POINT()的宏,它本质上可以检查它是否应该退出进程,但是我希望有一些东西比代码中有一堆宏更优雅

2 个答案:

答案 0 :(得分:1)

根据您使用的编译器,可能有一种方法让它在每次进入函数时自动调用函数。这可能会做你需要的。

对于Visual Studio,这里有信息:http://msdn.microsoft.com/en-us/library/c63a9b7h.aspx 这里的最佳答案包含有关在GCC中执行此操作的信息:Automatically adding Enter/Exit Function Logs to a Project

答案 1 :(得分:1)

我建议你超越一步,并逐个指导测试,而不是整个表达式,语句或行。

您应该能够使用Debugger API以编程方式设置断点(您需要一个帮助程序,IIRC)。到达断点时,将暂停该过程。并且您可以在遇到断点时收到事件并终止该过程。