gpt4 book ai didi

c - 使用 gdb Linux 启动时的进程转储

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:39 27 4
gpt4 key购买 nike

我有一大段代码,里面有一些网络操作,我不能把它贴在这里。

我的问题是当我用 gdb 启动它时,它会在进程启动时立即显示段错误。但是当我在没有 gdb 的情况下运行它时,它会继续运行并在某个随机时间出现故障。可能是什么原因?肯定有一些内存损坏吗?

最佳答案

进程在 GDB 内立即崩溃的一个可能原因是 GDB 禁用了地址空间随机化 ASLR .

您可以像这样在 gdb 中重新启用 ASLR:

(gdb) set disable-randomization off
(gdb) run

您可以像这样在 GDB 之外禁用 ASLR:

setarch x86_64 -R ./a.out ...

或者您可以像这样在整个系统范围内禁用 ASLR:

sudo -c "echo 0 > /proc/sys/kernel/randomize_va_space"

Is there some memory corruption for sure?

肯定有某个地方存在错误。是内存损坏还是其他错误取决于进程崩溃的确切方式位置,并且您没有告诉我们任何相关细节。

关于c - 使用 gdb Linux 启动时的进程转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660959/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com