我正在使用epoll在Linux機器上進行服務器編程,我在調試時遇到了問題。現在我已經把日誌語句放在了整個地方。它有助於看到它什麼時候爆炸,但它很難看出爲什麼..如何獲取堆棧跟蹤信息?
所以我想知道是否有一種方法來打印堆棧跟蹤或更多的信息在C++中。
在此先感謝...
編輯:
我設置-g在多畝使文件,如果我在GDB運行我的服務器,那麼它不會收到任何數據包。我不知道爲什麼,但如果我在命令行上運行它,然後它收到數據包,但如果我在GDB上運行它,它不會從客戶端接收任何東西(我看不到任何日誌語句)
我想你會需要一個調試器。可能是GDB,因爲你在Linux上 – Tim
嘗試在[gdb](http://www.gnu.org/software/gdb/)下運行你的程序。它有名爲'bt'的命令,它可以做你想做的事。 – beduin
如果「爆炸」意味着崩潰(如sigsegv),那麼你可以用調試信息編譯程序,啓用核心轉儲,然後在coredump上使用gdb。 Coredump應該告訴你程序崩潰的地方。 – rve