Tôi đang xây dựng một công cụ dev nội bộ để quản lý các quy trình khác nhau thường được sử dụng trong môi trường phát triển của chúng tôi. Công cụ hiển thị danh sách các quy trình được giám sát, cho biết trạng thái đang chạy của chúng và cho phép bắt đầu hoặc dừng từng quá trình.Cách đính kèm trình gỡ lỗi động vào một quy trình cụ thể
Tôi muốn thêm chức năng đính kèm trình gỡ lỗi vào quy trình được giám sát từ công cụ của tôi thay vì đi vào 'Debug-> Đính kèm quy trình' trong studio trực quan và tìm quy trình.
Mục tiêu của tôi là có một cái gì đó như Debugger.Launch() sẽ hiển thị danh sách studio trực quan có sẵn. Tôi không thể sử dụng Debugger.Launch() vì nó xoá bỏ trình gỡ lỗi trong quá trình thực hiện cuộc gọi. Tôi sẽ cần một cái gì đó như Debugger.Launch (processId).
Có ai biết cách đạt được chức năng này không?
Một giải pháp có thể là thực hiện lệnh trong mỗi quá trình được giám sát để gọi Debugger.Launch() khi lệnh được nhận từ công cụ giám sát, nhưng tôi muốn điều gì đó không yêu cầu sửa đổi mã của quy trình được giám sát .
Câu hỏi phụ: Khi sử dụng Debugger.Launch(), các trường hợp của Visual Studio đã được đính kèm trình gỡ lỗi không được liệt kê. Visual Studio không giới hạn một trình gỡ rối đính kèm, bạn có thể đính kèm nhiều quá trình khi sử dụng 'Debug -> Attach to process'.
Bất kỳ ai biết cách bỏ qua giới hạn này khi sử dụng Debugger.Launch() hoặc phương án thay thế?
Bạn đã tạo một plugin VS tùy chỉnh cho điều này chưa? Hoặc làm thế nào bạn "dây nó lên"? Tôi có nhu cầu tương tự. Tôi đang nhìn chằm chằm vào mã của bạn ở đây, nhưng tìm cách bạn kết nối nó trong giải pháp cuối cùng của bạn. Cảm ơn. – granadaCoder
Chúng tôi đã không tạo một plugin VS, chúng tôi đã sử dụng mã đó trong một công cụ tùy chỉnh đang theo dõi các quy trình sản phẩm của chúng tôi. –
Ok. Tôi đã có thể sử dụng nó. Tôi sẽ trả lời ... 3 "Upvotes" nếu tôi có thể. – granadaCoder