当前位置:  开发笔记 > 编程语言 > 正文

如果我没有得到Segmentation Fault,如何找到"index out of bound"

如何解决《如果我没有得到SegmentationFault,如何找到"indexoutofbound"》经验,为你挑选了1个好方法。

我有一个程序导致机器中的Seg故障,这对我来说是无法访问的.但是,当我在我的机器上使用相同的编译器和相同的输入编译和运行它时,我什么都得不到.问题可能是"数组索引超出范围",在某些情况下可能会导致Seg Fault,但编译器不会显示任何警告.该计划庞大而复杂.所以我只是通过检查代码找不到问题.

有关如何在我的机器上获取分段错误的任何建议吗?这样我就可以调试代码并找到问题所在.



1> 小智..:

valgrind如果它适用于Linux机器,您可以使用它.要使用valgrind你只需键入控制台:

valgrind --leak-check=full --num-callers=20 --tool=memcheck ./program

并且应该根据变量返回大小为X的无效读/写(如果使用调试信息编译),它将告诉您问题所在的行.

顺便说一下,你可以像valgrind在Ubuntu/Debian Linux(例如)中一样简单安装:

sudo apt-get install valgrind

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有