2017-12-03  23:59:16

参考 如何快速地在每个函数入口处加入相同的语句?

https://www.zhihu.com/question/56132218

做个存档

1 scj@scjComputer:~/THpro/func_trace$ tree .
2 .
3 ├── func_trace.c
4 ├── func_trace.sh
5 ├── imple
6 │   ├── bar.c
7 │   └── bar.h
8 ├── main.c
9 └── 步骤

func_trace.c
 1 #include <stdio.h>
 2 
 3 static FILE *fp_trace;
 4 
 5 void __attribute__((constructor)) traceBegin(void) {
 6   fp_trace = fopen("func_trace.out", "w");
 7 }
 8 
 9 void __attribute__((destructor)) traceEnd(void) {
10   if (fp_trace != NULL) {
11     fclose(fp_trace);
12   }
13 }
14 
15 void __cyg_profile_func_enter(void *func, void *caller) {
16   if (fp_trace != NULL) {
17     fprintf(fp_trace, "entry %p %p\n", func, caller);
18   }
19 }
20 
21 void __cyg_profile_func_exit(void *func, void *caller) {
22   if (fp_trace != NULL) {
23     fprintf(fp_trace, "exit %p %p\n", func, caller);
24   }
25 }
View Code

相关文章:

  • 2022-01-04
  • 2022-01-07
  • 2021-11-15
  • 2021-06-27
  • 2021-12-24
  • 2021-08-29
  • 2021-09-12
  • 2021-08-30
猜你喜欢
  • 2022-12-23
  • 2021-08-23
  • 2021-11-26
  • 2021-05-14
  • 2021-05-26
相关资源
相似解决方案