Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ gcc插装-是否可以自动输出函数的参数?_C++_Gcc - Fatal编程技术网

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过程(不是一个简单的命题)”。也许不是很简单,但构建一个插件并不难。