2011-08-02 38 views

Trả lời

10

Khi bạn đính kèm quy trình, bạn đang làm trình gỡ lỗi đính kèm vào quy trình và cho phép bạn đặt điểm ngắt trong mã mà bạn chưa bắt đầu từ trình gỡ lỗi. Điều này rất hữu ích trong trường hợp cố gắng gỡ lỗi những thứ có quá trình sinh sản tự động (chẳng hạn như mã .NET chạy dưới IIS).

2

Điều đó có nghĩa là đính kèm trình gỡ lỗi (tức là trình gỡ lỗi tích hợp của studio trực quan) vào quy trình để bạn có thể tạm dừng và kiểm tra các biến trong thời gian chạy. Điều này xảy ra khi bạn nhấn F5 tự động, hoặc có thể được thực hiện bằng tay bằng cách sử dụng trình đơn gỡ rối.

+0

Cảm ơn bạn đã phản hồi. – abw333

3

Bạn có thể đính kèm trình gỡ lỗi vào quy trình đang chạy và bắt đầu gỡ lỗi trình gỡ lỗi tại vị trí đó. Hầu hết chỉ hữu ích nếu bạn có thông tin gỡ lỗi cho tệp thực thi.

Tôi có xu hướng sử dụng nó nếu chương trình của tôi truy cập ngoại lệ và tôi chưa gỡ lỗi. Tôi có thể đính kèm và sau đó xem các biến và ngăn xếp cuộc gọi.

+1

Cảm ơn bạn đã phản hồi. – abw333

9

enter image description here Thay vì nhấn F5 để bắt đầu phiên bản ứng dụng của bạn (hoặc nhấn nút "go" màu xanh), bạn có thể đính kèm trình gỡ lỗi vào chương trình đang chạy. Trong khi bạn/có thể/đính kèm vào một thể hiện của Notepad, vì Notepad không phải là một ứng dụng .net và bạn không có các biểu tượng gỡ rối .pdb cho notepad, nó sẽ không làm tốt lắm.

Để gắn vào một thể hiện đang chạy chương trình của bạn (hoặc một thể hiện trình duyệt Internet Explorer đang chạy mã của bạn) ...

  • biên dịch những biểu tượng không được tối ưu hóa
  • biên dịch "Full" gỡ lỗi (các mặc định cho cấu hình DEBUG)
  • chắc chắn rằng các tập tin PDB là trong cùng thư mục với các PDB (hoặc bạn có thể tìm thấy chúng bằng tay)
  • chắc chắn rằng mã là trong đường dẫn tương tự như khi nó được biên dịch (hoặc bạn phải tìm thủ công)
6

Tôi không biết tài liệu chính thức nói gì, nhưng đây là cách tôi sử dụng tài liệu đó.

Nếu bạn đang làm việc trong một dự án chạy liên tục, nói một trang web được triển khai trong IIS hoặc dịch vụ cửa sổ và bạn có giải pháp với mã của chương trình đang chạy trong VS, bạn có thể đính kèm vào quá trình và gỡ lỗi nó như thể bạn đã khởi động nó nhấn F5, thiết lập các điểm ngắt, vv Nó cũng cho phép gắn vào một tiến trình đang chạy trong một máy từ xa nếu nó được cấu hình đúng cách, điều này sẽ hữu ích nếu bạn đang gỡ rối một tiến trình trong một máy chủ dàn dựng hay đại loại thế.

Bạn chỉ cần đảm bảo rằng mã bạn đang chỉnh sửa là mã được sử dụng để biên dịch nhị phân.

Các vấn đề liên quan