Program terminated with signal 6, Aborted. (最后發現是數組越界導致)


外網崩潰現象:

  1.多台物理機中的多個進程消失,而且都是場景進程。

  2.core文件都很小,看了 ulimit -a 和 cat proc/pid/limits  (都很正常。看這個是為了以后core文件正常。)

  3.場景日志中堆棧信息都是 libc.so.6 (abort 或者 malloc)

  4.場景日志中在崩潰堆棧信息的前一條都是某玩家離線打印出來的日志。

 

gdb調試core文件后報錯內容如題:Program terminated with signal 6, Aborted.

跟之前的主程交流后,可能double free,也可能內存不足,要查下最近提交代碼,最后發現是數組越界解決辦法:1.查看每個崩潰堆棧信息,運氣好就碰到跟代碼邏輯相關的。2.查看最近提交代碼,多查看數組越界,double free。

------------------------------------------------

結果已經知道了,那么分析現象,第4條是偶然,第3條的 malloc是偶然,所以有時候現象會影響自己的判斷,要時刻保留疑問。

以下是堆棧信息:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM