我的问题几乎与How to add code at the entry of every function?相同,但对于 C :
由于我正在维护其他人的大型无证项目,我希望代码类似于
static C0UNT_identifier_not_used_anywhere_else = 0;
printf("%s%s:%d#%d", __func__, strrchr(__FILE__,'/'), __LINE__, ++C0UNT_identifier_not_used_anywhere_else);
在每个函数的输入上运行,以便我
现有代码包含数百个源文件,因此放置宏是不可行的。
#define ENTRY_CODE ...
...
int function() {
ENTRY_CODE
...
}
在每个功能中。我也没有使用DevStudio,Visual Studio或其他提供__cyg_profile_func_enter或其他扩展程序的编译器。
或者,我想以类似的方式在退出时打印每个函数的返回值。我也可以这样做吗?
答案 0 :(得分:9)
由于您已使用gcc标记,因此它具有-finstrument-functions
选项:
生成用于进入和退出函数的检测调用。 ...