程式出現 Segmentation fault (core dumped) [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 3 »


程式出現 Segmentation fault (core dumped)
會員一級
註冊日期:
2013/9/12 9:18
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 57
MP : 7 / 1053
EXP: 31
離線
請問一下,我的環境是 Ubuntu13.04 Server & Desktop 各一台,在 Desktop 上寫一個最簡單的程式 hello,是可以執行的,但把程式放到 Server 後,執行結果卻只有 Segmentation fault (core dumped),不知道這是什麼原因造成的?

程式:
#include <stdio.h>

int main()
{
printf("hello\n");
return 0;
}

使用 gcc 編譯:
gcc main.c -o server

謝謝

2013/9/12 9:27
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
會員五級
註冊日期:
2008/10/7 21:19
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 896
MP : 661 / 29259
EXP: 85
離線
你是把source code放到Server上重新編譯嗎?
還是把編譯好的執行檔直接複製到Server上?

2013/9/12 10:32
I′m UGP
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1404 / 1756
MP : 4456 / 51350
EXP: 24
離線
在 Desktop 上寫一個最簡單的程式 hello,是可以執行的,但把程式放到 Server 後,執行結果卻只有 Segmentation fault (core dumped),不知道這是什麼原因造成的?

1. 下載 這份 serverguide.pdf 到家目錄
wget https://help.ubuntu.com/13.04/serverguide/serverguide.pdf

2. 使用 adobe reader 打開 serverguide.pdf

3. P4
詳細閱讀 Ubuntu 13.04 的 Server 與 Desktop 有何不同
1.2. Server and Desktop Differences

3-1. 1.2.1. Kernel Differences:
提供的參考資料
3-1-1. /boot/config-3.8.0-server : all kernel configuration options
3-1-2. Linux Kernel in a Nutshell

這一篇 可以參考 但是 要注意 核心版本 是否與 你的核心版本 相容
[SOLVED] Segmentation fault (core dumped) Problem

如果還有問題 請提供 你的 作業系統及版本

2013/9/12 10:49
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
會員一級
註冊日期:
2013/9/12 9:18
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 57
MP : 7 / 1053
EXP: 31
離線
您好,
我是將編譯好的執行檔複製到 Server

2013/9/12 11:37
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
會員一級
註冊日期:
2013/9/12 9:18
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 57
MP : 7 / 1053
EXP: 31
離線
剛剛試著將原始碼複製到 Server 後編譯,產生的執行檔就可以執行,沒有問題

所以這是因為不同的作業系統造成的差異嗎?

Desktop: XUbuntu 13.04
Server: Ubuntu 13.04 Server

2013/9/12 11:44
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1404 / 1756
MP : 4456 / 51350
EXP: 24
離線
猜測
是因爲 xubuntu desktop 與 ubuntu server 對於 RAM 的 Segmentation 不同引起的

2013/9/12 13:39
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
會員一級
註冊日期:
2013/9/12 9:18
所屬群組:
已註冊使用者
等級: 3
HP : 0 / 57
MP : 7 / 1053
EXP: 31
離線
poloshiao 寫到:
猜測
是因爲 xubuntu desktop 與 ubuntu server 對於 RAM 的 Segmentation 不同引起的


您好,
那請問這種問題有什麼比較好的解決方法嗎?

如果未來要發佈程式的到不同作業系統的 server(如:Ubuntu, Debian, RadHat...)時,是否也會有這種問題?

謝謝您

2013/9/12 14:40
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1404 / 1756
MP : 4456 / 51350
EXP: 24
離線
在同一臺電腦
先使用 server 版本的 ISO 安裝
再安裝 桌面套件
例如
Ubuntu 桌面 安裝 ubuntu-desktop
Xubuntu 桌面 安裝 xubuntu-desktop
等等

進一步參閱
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=flat&type=&topic_id=72818&forum=15

如果你要在不同電腦中 通用這個程式
要在程式中考慮到 不同電腦中 RAM 的差異

2013/9/12 15:12
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
會員五級
註冊日期:
2008/10/7 21:19
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 896
MP : 661 / 29259
EXP: 85
離線
個人想法不同,不見得是記憶體的問題

你的Desktop和Server使用的作業系統位元是一樣32或64bit嗎?機器架構(x86、ARM等等)有相同嗎?C函式庫版本有一樣嗎?

只從原本的資訊很難猜測出發生問題的實際原因
建議用gdb去分析程式在Server執行時產生的Core dump,從裡面找出crash的原因

關於分析Core dump請參考:
http://blog.ddup.us/?p=176
http://www.cppblog.com/kongque/archive/2011/03/07/141262.aspx

2013/9/12 16:40
I′m UGP
應用擴展 工具箱
回覆: 程式出現 Segmentation fault (core dumped)
管理員
註冊日期:
2012/1/14 18:41
所屬群組:
討論區管理群
等級: 20
HP : 0 / 480
MP : 159 / 11103
EXP: 23
離線
你有重新再server上面編譯?

雖然理論上系統一樣,但是如果你程式沒有重新編譯。是非常有可能問題的。

2013/9/12 17:01
應用擴展 工具箱

(1) 2 3 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.