我实施了使用mmap()
系统调用的程序,但在进程运行时期间发生了 Segmentation Fault 。
所以,我用 gdb 运行了这个程序,但是当我这样做时,它运行良好,没有段错误。
我想知道使用gdb运行是否可能会影响段错误。 你能跟我说说吗?
答案 0 :(得分:0)
如果使用gdb运行可能会影响段故障。
一种可能性:GDB禁用地址随机化(以便更容易再现错误)。您可以使用以下命令重新启用它:
each-n
GDB也可能影响线程的时间,但是你没有提到线程,因此不太可能。
答案 1 :(得分:0)
您可能正在代码中的某个地方调用违反C或C ++规则的未定义行为。尝试在Valgrind下运行程序。如果是这种情况,它应该为您提供更多信息。