我在Windows中使用C ++编写了一个项目。 我正在准备一个功能级别的测试平台,我想以这样的方式处理C ++代码:运行测试时,每个执行行都打印在一个日志文件中,这样代码流程就可以重新访问任何调试器。 是否有任何处理工具可以帮助我做到这一点?我是C ++的新手,所以我对可用的工具知之甚少,谷歌也没多大帮助。
即使你给我一个关于我如何开发它的想法,如果它还没有,它会很好。 我的应用程序是单线程和简单的。有几个班级和大约30个功能。加载/定时等不是约束。我最好在执行的每一行打印本地和全局。 Somethign类似于visual studio调试器如何帮助我们在每一步看到所有内容。我想在文件中输出。
答案 0 :(得分:0)
如果您使用最近的GCC在Linux上,则可以通过添加内部传递来自定义GCC(例如使用MELT,这是一种特定于域的语言来扩展GCC),这会将gimple表示更改为例如在每个基本块内和每次调用之前添加一个Gimple调用某些仪器例程。但这需要一个多星期的工作。另请注意,最新版本的GDB调试器可以在Python中编写脚本。
您可以尝试同样自定义编译器(或IDE)。
否则,您可能需要一些aspect oriented programming。也许AspectC++可能有用。请参阅this。
但我不认为它与unit testing有关。无论你尝试什么(这会像你梦寐以求的那样神奇地检测你的代码)可能会比普通的测试技术复杂和昂贵(就努力而言)。
也许只是在代码中添加调试打印宏就更简单了。请参阅this。