Mat*_*ner 5 linux locking interprocess strace ltrace
我正在使用strace/ 监视进程,ltrace希望找到并拦截一个检查并可能激活某种全局共享锁的调用.
虽然我以前曾经在Linux上处理过几种形式的进程间锁定,但我还是要查找要查找的内容.
目前我唯一的嫌疑是futex()在流程执行过程中很早就出现了.
关于我追求的是什么有一些混乱.我正在监视现有进程以调用持久进程间内存或等效内存.我想知道要查找的系统和库调用.我无意自称这些,所以很自然地futex()会出现,我相信很多图书馆都会根据这个来实现他们的锁定调用等.
我想要一个函数名列表或文档链接,我应该在ltrace和strace级别监视(并指定哪个).关于如何跟踪和定位全局锁定的任何其他好建议都会很棒.
如果你可以在valgrind中启动监控进程,那么有两个项目:
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer
和赫尔格林德
http://valgrind.org/docs/manual/hg-manual.html
Helgrind 知道所有 pthread 抽象并尽可能准确地跟踪它们的效果。在 x86 和 amd64 平台上,它理解并部分处理因使用 LOCK 指令前缀而产生的隐式锁定。
因此,该工具甚至可以检测原子内存访问。他们会检查pthread的使用情况
| 归档时间: |
|
| 查看次数: |
1280 次 |
| 最近记录: |