jdi*_*zle 3 c runtime debug-symbols
这是一些示例代码,用于了解我想要的内容.
int regular_function(void)
{
int x,y,z;
/** do some stuff **/
my_api_call();
return x;
}
...
void my_api_call(void)
{
char* caller = get_caller_file();
int line = get_caller_line();
printf("I was called from %s:%d\n", caller, line);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法实现get_caller_file()和get_caller_line()?我见过/使用技巧,例如#define荷兰国际集团my_api_call作为一个函数调用传入__FILE__和__LINE__宏.我想知道是否有办法在运行时而不是编译时访问该信息(假设它存在)?像Valgrind这样的东西是不是必须做这样的事情才能获得它返回的信息?