Tôi biết tôi có thể tìm thấy nếu một quá trình đang được gỡ lỗi thông qua một cuộc gọi đến Debugger.IsAttached in .NET, nhưng tôi muốn có thể nhận được PID của Visual Studio đó là gỡ lỗi các quy trình. Điều này có thể không?Tìm pid của Visual Studio đang gỡ lỗi quy trình của tôi
6
A
Trả lời
2
Bạn có thể sử dụng phương pháp TryGetVSInstance
được nêu trong this answer để giữ một trường hợp của từng đối tượng Tự động hóa EnvDTE COM của Visual Studio. Khi bạn đã có, chỉ cần lặp lại bộ sưu tập DTE.Debugger.DebuggedProcesses và kiểm tra xem có bất kỳ người trong số họ đang trỏ đến cùng một processID như quy trình mà bạn quan tâm.
+0
Tôi đã hy vọng họ sẽ là một win32 api bạn có thể gọi, nhưng tôi nghĩ rằng bạn đang gợi ý có lẽ là cách sạch nhất. Cảm ơn! – Robert
0
This làm việc cho tôi.
public static Process GetParent(Process process)
{
var processName = process.ProcessName;
var nbrOfProcessWithThisName = Process.GetProcessesByName(processName).Length;
for (var index = 0; index < nbrOfProcessWithThisName; index++)
{
var processIndexdName = index == 0 ? processName : processName + "#" + index;
var processId = new PerformanceCounter("Process", "ID Process", processIndexdName);
if ((int)processId.NextValue() == process.Id)
{
var parentId = new PerformanceCounter("Process", "Creating Process ID", processIndexdName);
return Process.GetProcessById((int)parentId.NextValue());
}
}
return null;
}
Các vấn đề liên quan
- 1. Tìm hiểu xem dòng mã ứng dụng của tôi hiện đang chạy trong chế độ gỡ lỗi của Visual Studio
- 2. Gỡ lỗi quy trình python đang chạy
- 3. Gỡ lỗi DLL của bên thứ ba trong Visual Studio?
- 4. Làm cách nào để đính kèm quy trình vào trình gỡ lỗi trong Visual Studio?
- 5. Visual Studio 2010 không cho phép tôi gỡ lỗi mã của tôi
- 6. Tự động đính kèm quy trình con vào Visual Studio trong khi gỡ lỗi
- 7. Visual studio + gdb gỡ lỗi từ xa
- 8. Trình gỡ lỗi Visual Studio 2010 bỏ qua
- 9. Tridion: Trình tạo mẫu và Visual studio gỡ lỗi
- 10. Gỡ lỗi Trình xử lý HTTP từ Visual Studio
- 11. Visual studio không thể tìm thấy quy trình w3wp
- 12. Visual Studio 2012 sẽ không cho phép tôi gỡ lỗi
- 13. Xem mảng trong trình gỡ lỗi Visual Studio?
- 14. Nhận backtrace ngăn xếp của một quy trình đang chạy
- 15. Có Visualizer trình gỡ lỗi Visual Studio cho phiên ASP.NET?
- 16. Trình gỡ lỗi tập lệnh Visual Studio 2010 không hoạt động đối với tôi
- 17. Nhận PID của ứng dụng hiện đang được thực hiện
- 18. Cách tốt để gỡ lỗi lỗi thiết kế Visual Studio
- 19. Gỡ lỗi của tôi AndroidManifest.xml đang cho tôi "không thể giải quyết lỗi biểu tượng"
- 20. Điều gì có thể khiến Visual Studio 2008 bị treo khi đang gỡ lỗi?
- 21. Tìm PID của Quy trình theo Tên mà không sử dụng popen() hoặc hệ thống()
- 22. Gỡ lỗi Javascript trong Visual Studio (hoặc trình gỡ rối JS khác)
- 23. Gỡ lỗi Visual Studio 2008 không dừng lại do lỗi
- 24. Tại sao tôi gặp lỗi "tệp được sử dụng bởi một quy trình khác" khi tôi gỡ lỗi trong Visual Studio?
- 25. khối của trình gỡ lỗi
- 26. Làm cách nào để gỡ lỗi JavaScript của tôi đang được thực thi bởi Chutzpah/PhantomJS
- 27. Cách gỡ lỗi chỉ một chuỗi trong Visual Studio
- 28. Cách gỡ lỗi một thư viện lớp trong Visual Studio
- 29. Tìm thư mục hiện tại trong phiên gỡ lỗi Visual Studio?
- 30. Tại sao Visual Studio khởi chạy nhiều WebDev khi tôi gỡ lỗi?
Nếu quá trình được bắt đầu từ trình gỡ rối, pid trình gỡ lỗi sẽ là pid cha của quá trình gỡ lỗi và điều này có thể được xác định. Bạn có hứng thú hơn với kịch bản mà trình gỡ rối được gắn từ xa vào một tiến trình đang hoạt động hay không. – panickal
Có một số trường hợp mà VS là * không * quá trình gỡ lỗi. Giống như gỡ lỗi từ xa hoặc gỡ lỗi mã 64 bit hoặc các kịch bản lưu trữ khác nhau. Khá quan trọng là bạn không cần thông tin. Đây là một câu hỏi XY, không thể nhìn thấy X. –