大佬教程收集整理的这篇文章主要介绍了使用g在Linux上使用Valgrind拦截全局函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用gcc构建时,我能够拦截全局函数,但是当我用g编译相同的代码时,拦截不起作用.
我应该指定的编译器标志有什么特别之处吗?
这是我的示例应用:
#include <stdio.h> #include "valgrind.h" __attribute__ ((noinlinE)) void foo() { printf("inside foo\n"); } void I_WRAP_SONAME_FNNAME_ZU(NONE,foo)() { OrigFn fn; VALGRIND_GET_ORIG_FN(fn); printf("*** Before foo()\n"); Call_FN_v_v(fn); printf("*** After foo()\n"); } int main() { foo(); return 0; }
使用GCC编译时,输出为:
但是当用g编译时,输出就是简单的
以上是大佬教程为你收集整理的使用g在Linux上使用Valgrind拦截全局函数全部内容,希望文章能够帮你解决使用g在Linux上使用Valgrind拦截全局函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。