trace.c

来自「一个动态函数分析工具」· C语言 代码 · 共 72 行

C
72
字号
/******************************************************************** * File: trace.c * * main function for the pvtrace utility. * * Author: M. Tim Jones <mtj@mtjones.com> * */#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#include "symbols.h"#include "stack.h"int main( int argc, char *argv[] ){  FILE *tracef;  char type;  unsigned int address;  if (argc != 2) {    printf("Usage: pvtrace <image>\n\n");    exit(-1);  }  initSymbol( argv[1] );  stackInit();  tracef = fopen("trace.txt", "r");  if (tracef == NULL) {    printf("Can't open trace.txt\n");    exit(-1);  }  while (!feof(tracef)) {    fscanf( tracef, "%c0x%x\n", &type, &address );    if        (type == 'E') {      /* Function Entry */      addSymbol( address );      addCallTrace( address );      stackPush( address );    } else if (type == 'X') {      /* Function Exit */      (void) stackPop();    }  }  emitSymbols();  fclose( tracef );    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?