[問題] Exit code為139(segmentation violation)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux C
-----------------
板上的先進大家好,
小弟有一無窮迴圈C語言程式在Linux下執行,
執行一小時後自動異常終止,出現代碼為139,
請問可能的原因是什麼呢!?
還請板上先進不吝賜教,謝謝大家..
另可有建議的除錯方法呢!?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.42.70
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1399294386.A.C81.html
※ 編輯: BIAO (140.124.42.70), 05/05/2014 20:58:37
→
05/05 21:06, , 1F
05/05 21:06, 1F
謝謝t大,
不過整個程式我並沒有使用動態記憶體,
真要說有free的地方就是存取資料庫後的..mysql_free_result(result);
抑或和字串實字有關呢!?
由於不停的迴圈,而重覆一直宣告字串實字..
程式內的副程式也有多個宣告字元陣列的地方..
我以為區域變數在離開副程式後,便會釋放掉記憶體空間,
難道不是這樣嘛.. XD
參閱網上此文件http://blog.sina.com.cn/s/blog_75bf554501019cvt.html
一、的確有使用strcpy、sprintf...等指令,
但如果前一小時程式執行沒出錯,一小時後怎麼會出錯呢!?
二、有使用一個執行緒(thread),卻沒加上mutex,
在程序執行過程,小弟刻意不對該執行緒輸入指令,
該執行緒也是無窮迴圈,不停的等候client端送命令進來。
※ 編輯: BIAO (140.124.42.70), 05/05/2014 21:37:54
附上完整程式碼,還請板上高手指點,謝謝大家..>//<
https://www.dropbox.com/sh/tbnn6f0qv3eyalu/F0wfudQZzq
※ 編輯: BIAO (140.124.42.70), 05/05/2014 21:43:25
推
05/05 22:57, , 2F
05/05 22:57, 2F
→
05/05 22:58, , 3F
05/05 22:58, 3F
→
05/06 12:58, , 4F
05/06 12:58, 4F
推
05/06 15:53, , 5F
05/06 15:53, 5F
謝謝y大,目前已將程式碼更改,重新上傳!!
使用valgrind --leak-check=full ./modbus+MySQL+Control26
得到以下結果..(截取片段)
==1411== LEAK SUMMARY:
==1411== definitely lost: 0 bytes in 0 blocks
==1411== indirectly lost: 0 bytes in 0 blocks
==1411== possibly lost: 136 bytes in 1 blocks
==1411== still reachable: 132,438 bytes in 40 blocks
==1411== suppressed: 0 bytes in 0 blocks
==1411== Reachable blocks (those to which a pointer was found) are not shown.
==1411== To see them, rerun with: --leak-check=full --show-reachable=yes
==1411==
==1411== For counts of detected and suppressed errors, rerun with: -v
==1411== Use --track-origins=yes to see where uninitialised values come from
==1411== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 1 from 1)
Killed
--------------------
目前打算先找出這5個錯誤,謝謝大家,會再上來回報^^
※ 編輯: BIAO (140.124.42.70), 05/06/2014 16:11:19
推
05/06 16:34, , 6F
05/06 16:34, 6F
→
05/06 16:55, , 7F
05/06 16:55, 7F
→
05/06 16:55, , 8F
05/06 16:55, 8F
→
05/06 16:55, , 9F
05/06 16:55, 9F
推
05/07 00:12, , 10F
05/07 00:12, 10F
→
05/07 07:29, , 11F
05/07 07:29, 11F
→
05/07 07:29, , 12F
05/07 07:29, 12F
→
05/07 07:30, , 13F
05/07 07:30, 13F
推
05/07 13:23, , 14F
05/07 13:23, 14F
→
05/07 13:33, , 15F
05/07 13:33, 15F
推
05/07 17:31, , 16F
05/07 17:31, 16F
→
05/07 17:31, , 17F
05/07 17:31, 17F
→
05/07 17:32, , 18F
05/07 17:32, 18F
→
05/07 17:32, , 19F
05/07 17:32, 19F
推
05/07 18:26, , 20F
05/07 18:26, 20F
→
05/07 18:28, , 21F
05/07 18:28, 21F
→
05/07 18:43, , 22F
05/07 18:43, 22F
→
05/07 18:45, , 23F
05/07 18:45, 23F
→
05/07 18:46, , 24F
05/07 18:46, 24F
→
05/08 02:19, , 25F
05/08 02:19, 25F
→
05/08 02:21, , 26F
05/08 02:21, 26F
→
05/08 02:22, , 27F
05/08 02:22, 27F
→
05/08 09:19, , 28F
05/08 09:19, 28F
→
05/08 09:20, , 29F
05/08 09:20, 29F
→
05/08 09:21, , 30F
05/08 09:21, 30F
→
05/08 09:22, , 31F
05/08 09:22, 31F
→
05/08 09:22, , 32F
05/08 09:22, 32F
→
05/08 09:23, , 33F
05/08 09:23, 33F
→
05/08 09:28, , 34F
05/08 09:28, 34F
推
05/08 13:41, , 35F
05/08 13:41, 35F
→
05/08 13:42, , 36F
05/08 13:42, 36F
→
05/08 13:45, , 37F
05/08 13:45, 37F
→
05/08 13:51, , 38F
05/08 13:51, 38F
K大及y大好,
昨天晚上執行程式,資料庫的資料顯示到凌晨4點就結束了,
不過並無產生core dump文件。(有使用ulimit -c unlimited)
現階段再執行一次~~~ (SSH伺服器斷線一次後,系統便無法再登入,要重開機才可以,
這不曉得是哪裡的問題,putty和SSH server都有設逾時)
目前用valgrind跑新版code,沒有完全執行完,直接按Ctrl+C,
出現了一個錯誤,heap釋放不足,不過並沒有說明是哪一行程式碼有問題。
新增了只剩MySQL連線版本的程式,放在雲端硬碟,
請各位幫忙、協助,小弟感激不禁..>///<
※ 編輯: BIAO (140.124.42.70), 05/08/2014 17:32:54
→
05/08 17:34, , 39F
05/08 17:34, 39F
→
05/08 17:36, , 40F
05/08 17:36, 40F
→
05/08 17:37, , 41F
05/08 17:37, 41F
→
05/08 17:37, , 42F
05/08 17:37, 42F
→
05/08 17:38, , 43F
05/08 17:38, 43F
→
05/09 00:04, , 44F
05/09 00:04, 44F
→
05/09 18:22, , 45F
05/09 18:22, 45F
推
05/10 22:07, , 46F
05/10 22:07, 46F
→
05/12 15:16, , 47F
05/12 15:16, 47F
→
05/12 15:16, , 48F
05/12 15:16, 48F
推
05/12 20:59, , 49F
05/12 20:59, 49F
回y大的話,
目前(加上執行緒)程式已經不會出現自己中斷了,
不過加上執行緒valgrind會出現possibly lost,
目前還想找出這個原因。
網上有些資訊,有的人是說不用理會possibly lost..
http://www.ptt.cc/bbs/EE_DSnP/M.1384248273.A.E73.html
有的是有說明理由..
http://ppt.cc/DzPE
※ 編輯: BIAO (140.124.42.70), 05/13/2014 15:53:55
使用網上範例,也都有possibly lost.. XD
http://www.itkee.com/developer/detail-1b23.html
http://blog.csdn.net/feixiaoxing/article/details/7243664
※ 編輯: BIAO (140.124.42.70), 05/13/2014 17:03:04