Tôi biết về strace và ltrace, nhưng điều đó chỉ cho tôi biết những gì hệ thống gọi và thư viện gọi một quy trình đang thực hiện, tương ứng. Tôi muốn biết chính xác những gì một quy trình đang thực hiện. Hoặc là lắp ráp, hoặc một số loại trung gian giữa C và lắp ráp nếu có thể. Giả sử nhị phân chưa được biên dịch với các ký hiệu gỡ lỗi, nên nghiêng về tùy chọn đầu tiên càng nhiều khả năng.
Trường hợp sử dụng: quá trình dường như được treo, không có đầu ra từ strace hoặc ltrace. Xác định nếu quá trình đang làm "một cái gì đó". Tôi nhận ra điều này có thể khó xác định, vì tôi tưởng tượng điều này tương tự như giải quyết vấn đề tạm dừng. Tuy nhiên, có thể thu thập dữ liệu hữu ích.
Trường hợp sử dụng thứ hai: sự tò mò. Sẽ rất thú vị khi kết xuất toàn bộ danh sách các hướng dẫn lắp ráp vào một danh sách văn bản.
Tôi đoán là tôi có thể sử dụng gdb để làm điều này, nhưng không biết làm thế nào, vì điều này ít về việc gỡ lỗi một chương trình tôi đã viết và nhiều hơn về việc sử dụng gdb để kiểm tra sức khỏe của một quy trình đang chạy.
HĐH là CentOS 6.
gdb
hoặcddd
. Ngay cả trong lắp ráp, và không có biểu tượng gỡ lỗi.