ป้องกันไม่ให้ strace จากการย่อข้อโต้แย้ง?


117

ฉันพยายามที่จะใช้ strace execveเพื่อหาสิ่งที่คำสั่งรันโปรแกรมโดยใช้ อาร์กิวเมนต์บางส่วนในคำสั่งเหล่านี้ค่อนข้างยาวและ strace กำลังย่ออาร์กิวเมนต์เป็นexecve(ฉันเห็น "... " หลังจากประมาณ 30 อักขระ) ทำให้ฉันไม่ได้รับข้อมูลที่เป็นประโยชน์ ฉันจะรับข้อความเต็มของแต่ละอาร์กิวเมนต์ได้อย่างไร

ฉันได้อ่านหน้าคน อ็อพชัน -v พิมพ์สภาพแวดล้อมซึ่งมีประโยชน์ แต่อาร์กิวเมนต์ยังคงถูกตัดทอน

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

ฉันลองส่ง verbose = all ด้วย แต่นี่เป็นเพียงข้อมูลเพิ่มเติมเกี่ยวกับ SIGCHLD

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

คำตอบ:


162

คุณต้องการตัวเลือกซึ่งระบุความยาวสูงสุดของสตริงที่จะแสดง (ค่าเริ่มต้นคือ 32)-v -s strsize


14
สิ่งนี้ใช้ไม่ได้สำหรับอาร์กิวเมนต์ "ซ้อน" หรืออาร์เรย์เช่นioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555


2
ตามที่ผู้ใช้รายอื่นระบุไว้ในความคิดเห็นที่นี่ "อาร์กิวเมนต์ -v ใช้งานได้ตั้งแต่ 4.15 และดูเหมือนว่าจะมีมาตั้งแต่เวลาสร้าง Git repo" ดังนั้นคุณไม่จำเป็นต้องแก้ไขซอร์สของแพ็กเกจ -v ควรทำงานได้ดีกับอ็อบเจ็กต์ที่ซ้อนกัน
DarkFranX
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.