2014-04-18 74 views
1

我編寫了一個內核模塊內存泄漏檢測器,它通過將可能的內存泄漏信息添加到列表中來工作。我希望能夠遍歷列表並將信息寫入用戶的文件,在用戶空間中使用下面的代碼很容易做到,但我如何使用sysfs將該信息從內核空間導出到用戶用戶可以在文件中讀取它?通過sysfs將信息從內核空間導出到用戶空間

/* 
* writes a memory leak summary to a file 
*/ 
void mem_leak_summary(void) 
{ 
    unsigned int i; 
    MEM_PROFILER_LIST * mem_output; 

    FILE * fp_write = fopen (SUMMARY_FILE, "wt"); 
    char info[1024]; 

    if(fp_write != NULL) 
    { 

     fwrite(info, (strlen(info) + 1) , 1, fp_write); 
     sprintf(info, "%s\n", "-----------------------------------"); 
     fwrite(info, (strlen(info) + 1) , 1, fp_write); 

     for(mem_output= ptr_start; mem_output!= NULL; mem_output= mem_output->next) 
     { 
      sprintf(info, "address : %d\n", leak_info->mem_output.address); 
      fwrite(info, (strlen(info) + 1) , 1, fp_write); 
      sprintf(info, "size : %d bytes\n", leak_info->mem_output.size);   
      fwrite(info, (strlen(info) + 1) , 1, fp_write); 
      sprintf(info, "line : %d\n", leak_info->mem_output.line); 
      fwrite(info, (strlen(info) + 1) , 1, fp_write); 
      sprintf(info, "%s\n", "-----------------------------------"); 
      fwrite(info, (strlen(info) + 1) , 1, fp_write); 
     } 
    } 
    clear(); 
} 

回答

相關問題