C++ gcc插装-是否可以自动输出函数的参数?
我知道: 生成函数入口和出口的指令插入调用。在函数进入之后和函数退出之前,将使用当前函数及其调用站点的地址调用以下评测函数。(在某些平台上,\内置\返回\地址在当前函数之外不起作用,因此调用站点信息可能无法用于分析函数。) 但这只输出函数和调用者的地址,而不输出函数的任何输入或输出C++ gcc插装-是否可以自动输出函数的参数?,c++,gcc,C++,Gcc,我知道: 生成函数入口和出口的指令插入调用。在函数进入之后和函数退出之前,将使用当前函数及其调用站点的地址调用以下评测函数。(在某些平台上,\内置\返回\地址在当前函数之外不起作用,因此调用站点信息可能无法用于分析函数。) 但这只输出函数和调用者的地址,而不输出函数的任何输入或输出 void __cyg_profile_func_enter (void *this_fn, void *call_site); void __cyg_pr
void __cyg_profile_func_enter (void *this_fn,
void *call_site);
void __cyg_profile_func_exit (void *this_fn,
void *call_site);
我想cout
是否有一种方法可以仅使用gcc选项来完成此检测
没有
-finstrument functions
标志对所有定义的函数执行传递,并在每个函数中插入一位代码
您希望将该过程扩展为“对于每个函数,迭代其所有参数,并为每个参数插入额外的代码位”
我不相信GCC中存在这样的功能,所以您必须构建一个自定义的GCC过程(不是一个简单的命题)
此外,“cout\uuuuu FUNCTION\uuuuu
会给你一个函数名而不是地址。但这不是获取参数的好方法。“你必须构建一个自定义的GCC过程(不是一个简单的命题)”。也许不是很简单,但构建一个插件并不难。