程式出現 Segmentation fault (core dumped) [論壇 - Ubuntu 程式設計]
正在瀏覽:
1 名遊客
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() 註冊日期:
2009/12/6 10:32 所屬群組:
已註冊使用者 等級: 71
HP : 1404 / 1756
![]() |
A segmentation fault (often shortened to segfault), bus error, or access violation is generally an attempt to access memory that the CPU cannot physically address.
segmentation fault 就是企圖存取 記憶體 但是無法實體定位址
2013/9/12 17:15
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/9/12 9:18 所屬群組:
已註冊使用者 等級: 3
HP : 0 / 57
![]() |
poloshiao 寫到: 您好: 看起來似乎很麻煩的樣子。 一般 Linux 下的程式應該也是隨便在一套系統開發完,再 release 到各個不同的系統吧,理論上除非 library 內的函式完全不同(應該可以向下相容吧),不然應該都可以執行才是吧?第一次寫 linux 的程式,不知道這樣的理解對不對… 一般在 window 下開發的程式,只要在任意一台編譯好,就可以在 win xp/win7 下作業了,並不需要去理會 RAM 的差異 不知道 linux 跟 window 是否差異有那麼大? 謝謝您
2013/9/12 17:23
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/9/12 9:18 所屬群組:
已註冊使用者 等級: 3
HP : 0 / 57
![]() |
UGP 寫到: 您好: Desktop: Intel Core2 雙核心 Server: Intel 應該是單核心 gcc: 4:4.7.3-1ubu (Server 跟 Desktop 會用不一樣的函式庫?) 嗯,我會試著用 gdb 試試看 謝謝您
2013/9/12 17:31
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/9/12 9:18 所屬群組:
已註冊使用者 等級: 3
HP : 0 / 57
![]() |
幻影火 寫到: 您好: 如果把程式碼放到 server 上編譯執行是沒有問題的! 因為我想在 desktop 上寫程式,寫好之後再上傳到 server 執行,萬一以後的 server 是利用的,跟我現在的系統是不一樣的時候,那是否就不能執行了,必須用跟 server 一樣的系統編譯程式才行?如果是這樣就很麻煩了… 謝謝您
2013/9/12 17:35
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() 註冊日期:
2009/12/6 10:32 所屬群組:
已註冊使用者 等級: 71
HP : 1404 / 1756
![]() |
一般 Linux 下的程式應該也是隨便在一套系統開發完,再 release 到各個不同的系統吧 如果未來要發佈程式的到不同作業系統的 server(如:Ubuntu, Debian, RadHat...)時,是否也會有這種問題? CPU / RAM 一般應該是 linux-kernel 在負責 請詳細參閱 Linux kernel / History Linux 許多發行版 每個發行版都把 Linus Torvalds 發行的 Linux kernel 原版稍加修改 作爲其 發行版的 kernel 所以 每個發行版的 linux-kernel 可能都稍微不同 但是 稍用一些 功夫 就可以知道 這些不同 在哪裏 不會很難 Preemption 是 程式設計人員 需要關心的差異 Ubuntu 基於 debian Ubuntu 的 Linux-kernel 與 debian 的 linux-kernel 稍有不同 與 Linux 其它版本 也是不同 表面看起來 好像很複雜 但是因爲 Linux 的程式源碼 都是 Open 網路上大都可以取得 反而是 很容易就能夠學會的
2013/9/12 17:47
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/9/12 9:18 所屬群組:
已註冊使用者 等級: 3
HP : 0 / 57
![]() |
我試著用 gdb 除錯,得到的結果是
Core was generated by `./test'. Program terminated with signal 11, Segmentation fault. #0 0x04831608 in ?? () (gdb) 這個應該是指程式的第一行就錯了嗎 int main(void) { printf("hello\n"); return 0; } int main(void) 這個會有問題嗎?
2013/9/12 17:54
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2012/1/14 18:41 所屬群組:
討論區管理群 等級: 20
HP : 0 / 480
![]() |
seeing350 寫到:幻影火 寫到: 建議是在server版本上面編譯會比較好,這樣會確保他不會有問題,畢竟系統不是完全一樣,所以再程式方面會有差距
2013/9/12 20:58
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2012/1/14 18:41 所屬群組:
討論區管理群 等級: 20
HP : 0 / 480
![]() |
seeing350 寫到: 出錯之後輸入bt,再把顯示的訊息給我。
2013/9/12 20:59
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2013/9/12 9:18 所屬群組:
已註冊使用者 等級: 3
HP : 0 / 57
![]() |
您好:
輸入 bt 後還是出現一樣的訊息 #0 0x04831608 in ?? () 謝謝
2013/9/12 21:24
|
||||||||||
![]() |
回覆: 程式出現 Segmentation fault (core dumped) |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2008/10/7 21:19 所屬群組:
已註冊使用者 等級: 36
HP : 0 / 896
![]() |
用gcc編譯時可以加上參數-g,這樣編譯好的執行檔會包含方便gdb使用的除錯訊息
2013/9/12 21:38
|
||||||||||
I′m UGP
|
|||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.