收到错误:a.out(40780,0x1130af600) malloc: nano zone 由于无法预分配保留的 vm 空间而被放弃

互联网 行业动态 更新时间:2024-06-13 00:19:32

Ahm*_*sud 6

TLDR;

尝试:

MallocNanoZone=0 ./a.out 

解释

注意:我的解释可能有点不准确,因为我只是研究它来回答问题:我只是简单地阅读了 libmalloc 代码以尝试了解正在发生的事情,这是我认为正在发生的事情:

libmalloc 中的nano_malloc例程尝试为预先计算的内存地址预先分配预先计算大小的内存。因为您将地址清理程序挂钩注入二进制文件(-fsanitize=address),所以地址无法用于计算 a.out 中预分配的确切大小......这反过来意味着预先确定多少空间是需要在虚拟内存中的哪些波段被奇怪。

因此,您可以通过关闭 preband 分配来简单地禁用它......设置环境变量MallocNanoZone=0然后离开。

更多推荐

分配,错误,空间,nano,zone

本文发布于:2023-04-21 09:59:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/92effe3bc3f41cd1e2ca5afc3b29c5fb.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分配   错误   空间   nano   zone

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!