标签归档:linux

Linux - Note (Things You Never Should Do in the Kernel)

在面向新开发人员的 Linux 内核编程邮件列表中,人们会提出一些常见问题。几乎每次提出这些问题时,回答总是“不要这样做!”,让困惑的提问者想知道他们闯入了什么样的奇怪开发社区。这是偶尔发布的系列文章中的第一篇,旨在解释为什么做这些事情通常不是一个好主意。然后,为了弥补这些指责,我们打破了所有的规则

阅读全文 →

Linux - uprobe的使用及检测

uprobe是Linux内核中的一个动态跟踪工具,它允许用户在内核运行时动态地插入探测点(probe points)来收集调试和性能数据。 主要特点: uprobe可以在用户空间程序的任意位置插入探测点,而无需修改或重新编译源代码。 它能够收集函数调用、返回值、参数、局部变量等运行时信息。 对程序性

阅读全文 →

ELF - elf64的数据结构

目前,PC平台流行的 可执行文件格式(Executable) 主要包含如下两种,它们都是 COFF(Common File Format) 格式的变种。 Windows下的 PE(Portable Executable) Linux下的 ELF(Executable Linkable Format)

阅读全文 →

Linux - lgetxattr和getxattr有什么区别

在 Linux 中,lgetxattr 和 getxattr 都是用于获取文件的扩展属性(extended attributes)的系统调用函数。两者的主要区别在于它们对符号链接(symbolic links)的处理方式不同。 1. getxattr 描述: getxattr 用于获取指定文件的扩展

阅读全文 →