我正在使用epoll在Linux机器上进行服务器编程,我在调试时遇到了问题。现在我已经把日志语句放在了整个地方。它有助于看到它什么时候爆炸,但它很难看出为什么..如何获取堆栈跟踪信息?
所以我想知道是否有一种方法来打印堆栈跟踪或更多的信息在C++中。
在此先感谢...
编辑:
我设置-g在多亩使文件,如果我在GDB运行我的服务器,那么它不会收到任何数据包。我不知道为什么,但如果我在命令行上运行它,然后它收到数据包,但如果我在GDB上运行它,它不会从客户端接收任何东西(我看不到任何日志语句)
我想你会需要一个调试器。可能是GDB,因为你在Linux上 – Tim
尝试在[gdb](http://www.gnu.org/software/gdb/)下运行你的程序。它有名为'bt'的命令,它可以做你想做的事。 – beduin
如果“爆炸”意味着崩溃(如sigsegv),那么你可以用调试信息编译程序,启用核心转储,然后在coredump上使用gdb。 Coredump应该告诉你程序崩溃的地方。 – rve