为C/C++程序编写一个仪器化工具

4
我希望编写一个程序,可以根据一些输入属性对输入的C/C++代码进行自动插桩。我正在寻找一个好的学习起点(主要涉及如何进行插桩,何处进行插桩等)。我已经在网上搜索了一段时间,但没有任何好运气。因此,如果有人能够指导我一个好的起点,我将不胜感激。
谢谢
2个回答

3

2
如果您正在使用Linux,并且只需系统API调用,请查看strace,或阅读this question
如果您想要检测自己的代码,则会更加棘手。性能分析器经常这样做,但它们与编译器合作添加仪器。似乎gcc支持一些用户定义仪器的形式。请参见this question
我发现很少需要整个程序都进行仪器测量--通常只需要对一些关键区域进行测量即可。在这种情况下,定义一些仪器宏或添加一些#ifdef MY_TRACE ... #endif部分是有帮助的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接