1. 程式人生 > >今天不順暢啊, 連續寫了兩個core, 我擦!------ /var/log/messages中會有segment fault提示!

今天不順暢啊, 連續寫了兩個core, 我擦!------ /var/log/messages中會有segment fault提示!

        早上接到一個新需求, 開搞。

        下午了, 還在塞程式碼, 塞著塞著, 搞出一個core, 該打的log沒有打出來。當時猜測是core了(因為程序號變了), 但沒有core檔案產生, 於是在root下看/var/log/messages資訊, 果然是有segment fault錯誤, 然後開啟linux的core開關和系統框架的core開關, 果然是有core了。 用gdb定位搞起, 發現是: (int *)&len寫成了(int *)len,  導致記憶體錯誤訪問, 我靠。

        於是繼續寫, 晚上又搞出一個core, 在列印log的時候, 本來應該用str.c_str(),  結果忘了寫.c_str(),  還是開啟系統和框架的core開關, gdb搞起, 雖然庫被strip掉了, 無法開到程式碼行, 但依然可以看到程式碼的呼叫, 一下就揪出了錯誤。

        真心不順。

        期間, 還遇到一個沒有給客戶端回包的問題, 還遇到一個string過長, 沒有收到服務端回包的問題, 都有點蛋疼。 自己打的log也很隨意, 哎, 基本功要繼續加強啊。

       哎哎哎。