码迷,mamicode.com
首页 > 其他好文 > 详细

函数调用可视化

时间:2014-08-20 13:46:02      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   os   io   cti   div   

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 /* Function prototypes with attributes */
 5 void main_constructor( void )
 6     __attribute__ ((no_instrument_function, constructor));
 7 
 8 void main_destructor( void )
 9     __attribute__ ((no_instrument_function, destructor));
10 
11 void __cyg_profile_func_enter( void *, void * ) 
12     __attribute__ ((no_instrument_function));
13 
14 void __cyg_profile_func_exit( void *, void * )
15     __attribute__ ((no_instrument_function));
16 
17 
18 static FILE *fp;
19 
20 
21 void main_constructor( void )
22 {
23   fp = fopen( "trace.txt", "w" );
24   if (fp == NULL) exit(-1);
25 }
26 
27 
28 void main_destructor( void )
29 {
30   fclose( fp );
31 }
32 
33 
34 void __cyg_profile_func_enter( void *this, void *callsite )
35 {
36   fprintf(fp, "E%p\n", (int *)this);
37 }
38 
39 
40 void __cyg_profile_func_exit( void *this, void *callsite )
41 {
42   fprintf(fp, "X%p\n", (int *)this);
43 }

constructor、destructor作用于main方法,即程序开始与退出时。

enter、exit作用于每个方法,在每个方法执行与退出时被调用。

函数调用可视化,布布扣,bubuko.com

函数调用可视化

标签:des   style   blog   color   os   io   cti   div   

原文地址:http://www.cnblogs.com/aldin/p/3924244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!