Strace'in argümanları kısaltması engelleniyor mu?


117

Bir programın hangi komutları kullanarak yürüttüğünü bulmak için strace kullanmaya çalışıyorum execve. Bu komutlardaki bazı argümanlar oldukça uzun ve strace argümanları olarak kısaltıyor execve(yaklaşık 30 karakterden sonra "..." görüyorum), bu da herhangi bir yararlı bilgi almamı engelliyor. Her bir argümanın tam metnini nasıl alabilirim?

Man sayfasını okudum . -V seçeneği, yararlı olan ortamı yazdırır, ancak bağımsız değişkenler yine de kesilir.

strace -f -e trace=execve -v -p 1234

Ayrıca ayrıntılı = all geçmeyi denedim, ancak bu sadece SIGCHLD hakkında bazı ekstra bilgiler veriyor.

strace -f -e verbose=all trace=execve -v -p 1234

Yanıtlar:


162

Bir dizenin görüntülenecek maksimum uzunluğunu belirten seçeneği istiyorsunuz (varsayılan 32'dir).-v -s strsize


14
Bu, "iç içe geçmiş" veya dizi bağımsız değişkenleri için çalışmaz, örneğinioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555


2
Başka bir kullanıcının burada bir yorumda belirttiği gibi, "-v argümanı 4.15'ten itibaren çalışıyor ve Git deposunun oluşturulduğu zamandan beri orada görünüyor." Yani, paketin kaynağını değiştirmek zorunda değilsiniz, -v iç içe geçmiş nesnelerde gayet iyi çalışmalıdır.
DarkFranX
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.