繁体   English   中英

如何调试分段错误

[英]How to debug a segmentation fault

如何调试分段错误?

基本上这是发生的事情:

我在后台运行我的服务器: ./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/

这个广告对代码的注释。 只有当你有很多函数调用并且你不知道调用路径时它才有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM