gpt4 book ai didi

linux - 有什么解决方案可以区分 Ubuntu mmap 中的读或写吗?

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:05 25 4
gpt4 key购买 nike

我正在学习 Linux 编程,我有一个关于 mmap 的问题。

我想通过使用 strace 查看进程的更多细节。我已经完成了,我看到了一个名为 mmap 的系统调用。但是我看不到任何标志或其他线索是否映射内存用于读取、写入。

mmap有什么方法可以区分读还是写?

我正在使用 Ubuntu 14.04。

衷心感谢

最佳答案

在 Ubuntu 15.04 中,如果我运行

strace -f echo "QQQ"

我会得到输出

mmap(0x7f28bc458000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f28bc458000
mmap(0x7f28bc45e000, 16128, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f28bc45e000
...
mmap(NULL, 2919792, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f28bbdcf000

PROT_READ - 可以读取页面

PROT_WRITE - 可以写入页面

http://man7.org/linux/man-pages/man2/mmap.2.html

关于linux - 有什么解决方案可以区分 Ubuntu mmap 中的读或写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503828/

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