2013-01-17 28 views
36

Tôi có một chương trình C đơn giản để tiến hành một tiến trình và sau đó chạy một tệp thực thi.Cách đính kèm một quy trình trong gdb

Tôi muốn đính kèm quy trình con vào gdb.

tôi chạy chương trình chính trong một giao diện điều khiển và mở giao diện điều khiển khác để tìm các pid của tiến trình con, sau đó tôi bắt đầu gdb với lệnh sau đây:

gdb attach 12271 

nơi 12271 là quá trình con id, nhưng đính kèm không thành công với:

No such file or directory. 

Bất kỳ ý tưởng nào về lý do?

+0

tôi không nghĩ chú là một đối số dòng lệnh. bạn có thể sử dụng nó khi gdb đang chạy. anh chàng này có một hướng dẫn tốt: http://dirac.org/linux/gdb/06-Debugging_A_Running_Process.php – thang

+0

Có thể trùng lặp của [Tôi có thể sử dụng GDB để gỡ lỗi một tiến trình đang chạy không?] (http://stackoverflow.com/questions/2308653/can-i-use-gdb-to-debug-một-chạy-quá trình) –

Trả lời

76

Hãy thử một trong những:

gdb -p 12271 
gdb /path/to/exe 12271 

gdb /path/to/exe 
(gdb) attach 12271 
11

Đối số đầu tiên phải là đường dẫn đến chương trình thực thi. Vì vậy,

gdb progname 12271 
Các vấn đề liên quan