※ [本文轉錄自 C_and_CPP 看板 #1RG-B07J ]
作者: shiningboy () 看板: C_and_CPP
標題: [問題] 關於 core dump
時間: Tue Jul 10 06:33:33 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux 4.13
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
n/a
問題(Question):
我的問題是
第一個程式
int main(){
// code to line 9
abort();
}
第二個程式
pid_t parent = getpid();
int main(){
// code to line 9
fork();
if( getpid() != parent ){
abort();
}
// parent process still working to end
}
在同一個程式的某一個特定點 ,
ex. 假設都在第 10 行左右 call abort()
第一個程式
single process
在第 10 行 abort() , 產生一個 core dump 檔
第二個程式
在第 10 行左右 fork 一個 child process
然後這個 child process 就馬上 abort()
在第 10 行左右 fork 的 child process 有跟 parent 一樣的 data
在沒有做其他的變數處理的狀況之下
第一個程式跟第二個程式的 core dump 的內容是否應該是一樣的???
餵入的資料(Input):
如上
預期的正確結果(Expected Output):
因為在第 10 行左右 fork 的 child process 有跟 parent 一樣的 data
所以在沒有做其他的變數處理的狀況之下
第一個程式跟第二個程式的 core dump 的內容是否應該是一樣的???
錯誤結果(Wrong Output):
n/a
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
如上
補充說明(Supplement):
n/a