Ngăn chặn các lập luận viết tắt đi lạc?


117

Tôi đang cố gắng sử dụng strace để tìm ra những lệnh mà chương trình thực thi bằng cách sử dụng execve. Một số đối số trong các lệnh này khá dài và strace đang viết tắt các đối số thành execve(tôi thấy "..." sau khoảng 30 ký tự), ngăn tôi nhận được bất kỳ thông tin hữu ích nào. Làm cách nào để lấy toàn bộ nội dung của mỗi đối số?

Tôi đã đọc trang người đàn ông . Tùy chọn -v in ra môi trường, rất hữu ích, nhưng các đối số vẫn bị cắt bớt.

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

Tôi cũng đã thử chuyển verbose = all, nhưng điều này chỉ cung cấp thêm một số thông tin về SIGCHLD.

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

Câu trả lời:


162

Bạn muốn tùy chọn, chỉ định độ dài tối đa của chuỗi để hiển thị (mặc định là 32).-v -s strsize


14
Điều này không hoạt động đối với các đối số "lồng nhau" hoặc mảng, ví dụioctl(3, SNDCTL_TMR_TEMPO or TCGETA, {B9600 -opost -isig -icanon -echo ...})
Marki555

8
nó đã được giải quyết tại stackoverflow.com/questions/34365928/…
Vladimir Kunschikov

2
Như một người dùng khác đã lưu ý trong một bình luận ở đây "đối số -v hoạt động kể từ ngày 4.15 và dường như đã ở đó kể từ thời điểm tạo ra repo Git." Vì vậy, bạn không cần phải thay đổi nguồn của gói, -v sẽ hoạt động tốt với các đối tượng lồng nhau.
DarkFranX
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.