如何调试分段错误



如何调试分段错误?

基本上是这样发生的:

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

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

当我

尝试使用正确的用户名和密码登录我的服务器时,一切都很好,但是当我输入无效的用户和密码时,它会导致分段错误。

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

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

对于分段错误,一个好主意是使用valgrind运行程序进行调试。这样,您通常会获得有关导致分段错误的原因的更多详细信息。例如,它会告诉您是否正在从未初始化的内存中读取。

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

 gdb name_of_program core 

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

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

这广告对代码进行注释。 仅当您有很多函数调用并且不知道调用路径时,它才有用。

相关内容

  • 没有找到相关文章

最新更新