程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 調試-segment fault:core dumped

調試-segment fault:core dumped

編輯:編程綜合問答
segment fault:core dumped

程序裡有下面兩個函數:
小文件沒有問題,但是當文件達到1k行左右,會出現段錯誤。錯誤在第二個wlhile
語句的fgetc處。
void next(char c,int *row,int *col)
{
if(c == '\t')
*col = (*col + TABLEN - 1) / TABLEN * TABLEN + 1;
else if(c == '\n') {
cur_state.line_endpos[*row] = *col;
*col = 1;
(*row) ++;
}

else
(*col)++;
if(*col > cur_state.win_width)
{

cur_state.line_endpos[*row] = *col - 1;
*col -= cur_state.win_width;
(*row) ++;
}

}

 void state_init()

{
char word;
int cur_row,cur_col;

cur_row = 1;
cur_col = 1;

fseek(FP,0,SEEK_SET);
ioctl(STDIN_FILENO,TIOCGWINSZ,&win);
cur_state.win_height = win.ws_row;
cur_state.win_width = win.ws_col;

while((word = fgetc(FP)) != EOF)
    next(word,&cur_row,&cur_col);
cur_state.total_line =cur_row-1;

memset(&inbuffer,0,sizeof(inbuffer));

}

這個錯誤很奇怪,我在不斷減少行數測試的時候發現在900 多行的時候程序恰好出錯,但gdb調試時卻正常,較多行時,gdb調試也會出錯,何故?

想撞牆。。

最佳回答:


最近,寫一個二叉樹的創建和遍歷程序,可以通過編譯,但運行時產生了Segment Fault錯誤。原程序如下:

struct NODE{
NODE *lchild, *rchild;
int data;
};

NODE* CreateNode(int i)
{
NODE *newnode=new NODE;
newnode->data = i;
newn......
答案就在這裡:Segment Fault(core dumped)
----------------------你好,人類,我是來自CSDN星球的問答機器人小C,以上是依據我對問題的理解給出的答案,如果解決了你的問題,望采納。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved