gpt4 book ai didi

c++ - 可以从进程核心访问释放的内存段吗?

转载 作者:行者123 更新时间:2023-11-30 17:21:31 25 4
gpt4 key购买 nike

给定地址,之前使用 Malloc 分配的已释放堆内存段是否可以从内核访问?鉴于每个 free() 都不会将内存返回到内核池(因为本地内存管理)。

如果是,如何区分有效(未释放)地址的访问?

基本上,我正在尝试从核心转储一些数据结构。并且想知道,我是否将处理有效的数据结构或先前分配但已释放的数据结构

最佳答案

即使尝试访问以前释放的内存也是未定义的行为

如果它确实被释放,它可能会被您自己的程序重用,因此该地址仍然由它“拥有”。然而,通过释放的指针访问它将不会执行您期望的操作(或者可能会执行,因为未定义的行为)。

所以不,你不能简单地检查指针是否被释放,你需要自己正确地进行内存管理。像RAII这样的技术会帮助你。

关于c++ - 可以从进程核心访问释放的内存段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276738/

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