运行具有分段错误的程序与gdb一起运行良好

时间:2017-05-31 06:27:08

标签: debugging segmentation-fault gdb

我实施了使用mmap()系统调用的程序,但在进程运行时期间发生了 Segmentation Fault

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

我想知道使用gdb运行是否可能会影响段错误。 你能跟我说说吗?

2 个答案:

答案 0 :(得分:0)

  

如果使用gdb运行可能会影响段故障。

一种可能性:GDB禁用地址随机化(以便更容易再现错误)。您可以使用以下命令重新启用它:

each-n

GDB也可能影响线程的时间,但是你没有提到线程,因此不太可能。

答案 1 :(得分:0)

您可能正在代码中的某个地方调用违反C或C ++规则的未定义行为。尝试在Valgrind下运行程序。如果是这种情况,它应该为您提供更多信息。