- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
内核模块代码:
static int __init module(void)
{
struct pid *current_pid;
struct task_struct *current_task;
struct mm_struct *mymm;
struct vm_area_struct *pos = NULL;
current_pid = find_vpid(7887);
current_task = pid_task(current_pid, PIDTYPE_PID);
mymm = current_task->mm;
for(pos = mymm->mmap; pos; pos = pos->vm_next) {
printk("0x%hx-0x%hx\t%ld\t", pos->vm_start, pos->vm_end,pos->rb_subtree_gap);
if(pos->vm_flags & VM_READ) {
printk("r");
} else {
printk("-");
}
if(pos->vm_flags & VM_WRITE) {
printk("w");
} else {
printk("-");
}
if(pos->vm_flags & VM_EXEC) {
printk("x");
} else {
printk("-");
}
printk("\n");
}
return 0;
}
static void __exit rmodule(void)
{
printk(KERN_ALERT"Goodbye,world\n");
}
module_init(module);
module_exit(rmodule);
结果:
Oct 9 18:57:43 shui kernel: [14625.861352] 0x400000-0x401000 4194304 r-x
Oct 9 18:57:43 shui kernel: [14625.861366] 0x600000-0x601000 273183399936 r--
Oct 9 18:57:43 shui kernel: [14625.861373] 0x601000-0x602000 0 rw-
Oct 9 18:57:43 shui kernel: [14625.861379] 0x3f9b600000-0x3f9b620000 273183399936 r-x
Oct 9 18:57:43 shui kernel: [14625.861386] 0x3f9b820000-0x3f9b821000 140214666838016 r--
Oct 9 18:57:43 shui kernel: [14625.861391] 0x3f9b821000-0x3f9b822000 0 rw-
Oct 9 18:57:43 shui kernel: [14625.861397] 0x3f9b822000-0x3f9b823000 0 rw-
Oct 9 18:57:43 shui kernel: [14625.861403] 0x3f9ba00000-0x3f9bbad000 1953792 r-x
Oct 9 18:57:43 shui kernel: [14625.861408] 0x3f9bbad000-0x3f9bdad000 0 ---
Oct 9 18:57:43 shui kernel: [14625.861414] 0x3f9bdad000-0x3f9bdb1000 140214666838016 r--
Oct 9 18:57:43 shui kernel: [14625.861419] 0x3f9bdb1000-0x3f9bdb3000 0 rw-
Oct 9 18:57:43 shui kernel: [14625.861425] 0x3f9bdb3000-0x3f9bdb8000 140214666838016 rw-
Oct 9 18:57:43 shui kernel: [14625.861431] 0x7fc5e1444000-0x7fc5e1447000 140214666838016 rw-
Oct 9 18:57:43 shui kernel: [14625.861436] 0x7fc5e146f000-0x7fc5e1470000 140214666838016 rw-
Oct 9 18:57:43 shui kernel: [14625.861442] 0x7fffe4c32000-0x7fffe4c54000 249166569472 rw-
Oct 9 18:57:43 shui kernel: [14625.861448] 0x7fffe4d79000-0x7fffe4d7b000 1200128 r-x
但使用 cat/proc/7887/maps:
shui @ kernel @ 19:00]$ cat /proc/7887/maps
00400000-00401000 r-xp 00000000 00:20 1826951 /tmp/a.out
00600000-00601000 r--p 00000000 00:20 1826951 /tmp/a.out
00601000-00602000 rw-p 00001000 00:20 1826951 /tmp/a.out
3f9b600000-3f9b620000 r-xp 00000000 fd:01 2228400 /usr/lib64
/ld-2.16.so
3f9b820000-3f9b821000 r--p 00020000 fd:01 2228400 /usr/lib64/ld-2.16.so
3f9b821000-3f9b822000 rw-p 00021000 fd:01 2228400 /usr/lib64/ld-2.16.so
3f9b822000-3f9b823000 rw-p 00000000 00:00 0
3f9ba00000-3f9bbad000 r-xp 00000000 fd:01 2228403 /usr/lib64/libc-2.16.so
3f9bbad000-3f9bdad000 ---p 001ad000 fd:01 2228403 /usr/lib64/libc-2.16.so
3f9bdad000-3f9bdb1000 r--p 001ad000 fd:01 2228403 /usr/lib64/libc-2.16.so
3f9bdb1000-3f9bdb3000 rw-p 001b1000 fd:01 2228403 /usr/lib64/libc-2.16.so
3f9bdb3000-3f9bdb8000 rw-p 00000000 00:00 0
7fc5e1444000-7fc5e1447000 rw-p 00000000 00:00 0
7fc5e146f000-7fc5e1470000 rw-p 00000000 00:00 0
7fffe4c33000-7fffe4c54000 rw-p 00000000 00:00 0 [stack]
7fffe4d79000-7fffe4d7b000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
关于堆栈地址的vm_area_struct是7fffe4c32000
,但是映射是7fffe4c33000
,这有什么不同? vsyscall 是为什么不在 vm_area_struct 上打印?
最佳答案
这是正常的,Linux 内核使用堆栈保护,procfs 不显示页面。
查看fs/proc/task_mmu.c中的函数show_map_vma
关于c - 关于/proc/xx/map 和 vm_area_struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26277134/
我住在荷兰,货币是用逗号 (,) 而不是点 (.)即 14.95 的 feeds 被解释为数字而不是 14.95 欧元 有没有可以解决这个问题的LINUX命令(sed?)?所以14.95变成了14,9
我想问: 我有两个表employee,其中包含字段ID、Fullname、email...和表task 包含字段 name_task、list_employee... 使用字段list_employe
请看下面的测试数据。我想获取 avgtime (=timeonsite/visits) 并在 mysql 中显示为“xx:xx:xx”结果。我怎样才能得到它? SET FOREIGN_KEY_CHEC
我必须处理一个大文件(几 MB)并从中删除带有时间标记的注释。一个例子: blablabla 12:10:40 I want to remove this blablabla some more e
所以我有这些数据直接从 iTunes 复制/粘贴: Excel 具有“XX:XX:00”格式,即“hh:mm:ss”,但您可以想象,它更像“mm:ss:00”。音乐时间不长! 由于这不是直接的单元格格
我有一个对象列表,我想使用 Option.Numero_Reference 属性对其进行排序。 Numero_reference 是一个 xx.xx.xx 格式的字符串 有没有办法按 xx 组排序?
我正在尝试部署 nginx - ingress kubectl run nginx --image=nginx kubectl get pod NAME
我有一个日期“2014-07-02 20:57:38 +0000”,我想将它的格式设置为“今天晚上 8:57”。我希望如果一个字符串是昨天,则将其显示为“昨天上午 9:00”。如果既不是今天也不是昨天
目前我使用的是Apache http components client V4.3.5。在我的例子中,我可以上传小文件(1kb),但是当我运行代码并得到异常“org.apache.http.NoHtt
我在 Linux (RHEL 7) 中运行 HTTPS 服务器。我一启动服务器就收到以下错误。 2019/09/04 15:46:16 http: TLS handshake error from x
我正在参加 CTF 挑战赛,该挑战赛有一个链接,如下所示:46.XXX.XX.XX:8008/ 如果我打开该页面中的开发者工具,我可以找到一个小程序,其属性代码值为“mPage.class”
你好 我想每隔 X 小时在我的程序中运行一个方法,该怎么做?我正在谷歌搜索,但什么也没有:/ 最佳答案 你可以考虑Quartz . 它是在 java 中运行的某种 cron。不过我承认,如果您只想安排
我正在尝试检查 NSString 是否为特定格式。 日:日:日。我在想 NSRegularExpression。有点像 /^(\d)\d:\d\d:\d\d)$/? 最佳答案 你有没有试过这样的事情:
我收到错误 git 存储库的 RSA 主机 key 不在已知主机列表中。当我使用存储库 URL 作为我的 git 克隆 URL 运行 jenkins 作业时。 我尝试在运行作业的主机中克隆相同的存储库
我有一个计数器,每 1 秒计数一次,并将 1 添加到 int。 问题 如何格式化我的字符串,使计数器看起来像这样: 00:01:23 代替: 123 我尝试过的事情 到目前为止我尝试过的事情: for
ERROR 2003 (HY000): Can't connect to MySQL server on 'xx.xx.xx.xx.' (60) 我在尝试远程连接到此服务器时收到此错误。我最近硬重启了
我正在尝试将一些数据从客户端浏览器插入到 AWS 服务器上的 MySQL 数据库。 该代码在 godaddy 上运行,因此看起来像是权限/安全问题。 $servername = "xx.xx.xx.x
我想知道是否有标准方法可以以“UTC+XX:XX”或“UTC-XX:XX”格式返回设备的当前时区? 基于格式化 NSDate 我知道可以在“ZZZZ”的帮助下获得当前时区,它给出“GMT-08:00”
我的 JVM 有 -server 选项,我相信它使 JVM 能够使用 C2 编译器,这意味着用于服务器应用程序,这些应用程序往往比客户端应用程序运行时间更长。但是,GRAAL JIT(由 -XX:+U
public void colortemperatureJSliderStateChanged(ChangeEvent event) { fahrenheitdegree = colortemp
我是一名优秀的程序员,十分优秀!