如何调试分段错误

use*_*149 6 c++ debugging gdb segmentation-fault

如何调试分段错误?

基本上这是发生的事情:

我在后台运行我的服务器: ./server &

然后我运行我的客户端: ./client

当我尝试登录我的服务器时,使用正确的用户名和密码,一切正常,但是当我键入无效的用户名和密码时,会导致分段错误.

如何使编译器/调试器能够输出实际看到的导致分段核心转储的错误.

我知道gdb,但我尝试使用gdb客户端但它似乎不起作用.

mat*_*975 5

如果您使用 g++,首先使用 -g 选项编译您的程序。然后使用

 gdb name_of_program core 
Run Code Online (Sandbox Code Playgroud)

在您获得的核心转储上运行 gdb(name_of_program是您刚刚使用 g++ 构建的可执行文件的名称)。此链接对于如何使用 gdb 很有用。

http://www.ibm.com/developerworks/library/l-gdb/


cel*_*chk 5

解决分段错误的一个好方法是运行带有valgrind调试功能的程序。这样,您通常会获得有关导致细分错误的原因的更多详细信息。例如,它将告诉您是否正在从未初始化的内存中读取。