Debugging 运行带有分段错误的程序可以很好地使用gdb

Debugging 运行带有分段错误的程序可以很好地使用gdb,debugging,segmentation-fault,gdb,Debugging,Segmentation Fault,Gdb,我实现了使用mmap()系统调用的程序,但是分段错误在进程运行时发生 所以,我用gdb运行了这个程序,但是当我运行它时,它运行得很好,没有段错误 我想知道使用gdb运行是否可能影响段故障。 你能告诉我这件事吗 如果与gdb一起运行可能会影响段故障 一种可能性是:GDB禁用地址随机化(以便更容易复制错误)。您可以通过以下方式重新启用它: (gdb) set disable-randomization off GDB也可能影响线程的时序,但你没有提到线程,所以这是不太可能的。 < p>你可能调用

我实现了使用
mmap()
系统调用的程序,但是分段错误在进程运行时发生

所以,我用gdb运行了这个程序,但是当我运行它时,它运行得很好,没有段错误

我想知道使用gdb运行是否可能影响段故障。 你能告诉我这件事吗

如果与gdb一起运行可能会影响段故障

一种可能性是:GDB禁用地址随机化(以便更容易复制错误)。您可以通过以下方式重新启用它:

(gdb) set disable-randomization off

GDB也可能影响线程的时序,但你没有提到线程,所以这是不太可能的。

< p>你可能调用代码中某个不规则的行为,破坏C或C++规则。尝试在Valgrind下运行程序。如果是这种情况,它会给您提供更多信息。

哪种语言?C/C++?相关代码是什么?