2012-05-18 17 views
7

alıyorum çok evreli bir program üzerinde strace çalıştırırken böyle sonuçları:Strace iş parçacıklı Programı

[pid 14778] futex(0x7fd8082f266c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fd8082f2668, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...> 
[pid 14780] <... futex resumed>)  = 0 

Bildirim argümanlar <unfinished...> tek satıra ve sonuç <...resumed> başka hatta. Sonuçları ile ilişkili argümanlar olmaması, strace'in faydasını azaltır. Çok aşamalı bir programın izlenmesinde, strace'in sonuçları ve argümanları aynı satırda yazması mümkün müdür?

+1

dosyalara ben çıkış ben arıyorum sonucu alabilirsiniz -o -ff kullanılıyorsa kullanım. Ancak, çıktıyı yüzlerce dosya yerine konsoluma yazmayı tercih ederim. :) – benmmurphy

+0

.. ama bir kronoloji problemi var: Bu belirli mutex işlemi gerçekten bir iş parçacığında başlıyor, iş parçacığını engelliyor ve başka bir iş parçacığına dönüşe neden oluyor. – pjc50

+0

Yazılı ise sorun olmaz: syscall (args) = bitmemiş, sürdürülür: syscall (args) = sonuç. Bu kronolojik bir sorunu yok ve ben hala sonuçlara uyuşabilir. Sorun şu anda yazdırdığı ikinci satırdır syscall (devam) = sonuçta benim için çok yararlı olmayan bir sonuç. – benmmurphy

cevap

9

strace -ff cmd 2> log.out

+0

bu benim için çalışmıyor. Muhtemelen strace eski bir sürümü var çünkü :( – benmmurphy