分析底层 Linux 操作系统函数/代码,如 select() 和 poll()?

Posted

技术标签:

【中文标题】分析底层 Linux 操作系统函数/代码,如 select() 和 poll()?【英文标题】:Profiling underlying Linux OS functions/code like select() and poll()? 【发布时间】:2013-03-15 22:04:21 【问题描述】:

如果我要编写一个小型 C 或 C++ 应用程序(在 Linux 上)并在分析时调用“本机”Linux 函数,例如 select() 和 poll(),我是否能够看到用于这些的汇编程序功能也一样,它不仅仅是可以分析的用户编写的代码吗?

我很想看看为各种“本机”Linux 功能生成的程序集。

【问题讨论】:

用户编写的函数也是原生的(除非用 javascript 编写)... 所以基本上它不会像我轮询自己的函数那样对待 Linux poll()、select()、sendfile() 等? 为什么不直接阅读这些函数的源代码? @user315052 因为源代码是 C,而不是 ASM? 既然有源码,就可以让编译器输出汇编了。 【参考方案1】:

几乎。它们是内核调用,因此您会看到一些内核级别的代码。

【讨论】:

以上是关于分析底层 Linux 操作系统函数/代码,如 select() 和 poll()?的主要内容,如果未能解决你的问题,请参考以下文章

Linux内存管理之mmap详解 (可用于android底层内存调试)

「底层原理」epoll源码分析,还搞不懂epoll的看过来

Linux底层函数库glibc漏洞核查整改指引

PHP排序函数sort底层实现分析

Socket与系统调用深度分析

Linux入门