2011-06-29 31 views
5

Tôi có dịch vụ .NET (C#) sử dụng một vài thư viện C++. Tôi có một nhu cầu tuyệt vọng để có được vào phương pháp C + + nhưng khi tôi thiết lập các điểm ngắt họ nhận được vô hiệu hóa trong thời gian chạy.Gỡ lỗi mã C++ từ ứng dụng .NET

Nơi để xem?

Tôi đặt "Đính kèm trình gỡ lỗi" trong cài đặt dự án C++ nhưng điều này dường như không thay đổi một chút.

Vui lòng tư vấn. Nơi để xem xét?

Thư viện là quickfix engine nếu có ai quan tâm.

Trả lời

9

Bạn cần phải enable unmanaged code debugging cho dự án của bạn. Để thực hiện việc này:

  1. Nhấp chuột phải vào dự án của bạn trong Solution Explorer và nhấp vào "Thuộc tính".
  2. Trong tab "Gỡ lỗi", chọn hộp có nhãn "Bật gỡ lỗi mã không được quản lý".

     

Theo mặc định, một dự án nhắm mục tiêu .NET Framework sẽ chỉ debug quản lý mã. Bạn phải nói rõ ràng rằng bạn muốn gỡ lỗi mã không được quản lý.

Nếu điều đó không khắc phục được sự cố, hãy đảm bảo rằng cài đặt "Bật chỉ mã của tôi" không được bật trong cài đặt gỡ lỗi được tìm thấy trong hộp thoại Tùy chọn.


Không hoạt động khi tôi đính kèm. Chỉ hoạt động khi tôi chạy từ studio

Đúng. Khi bạn đính kèm vào một quá trình, dự án của bạn không phải là [cần thiết] được tải, và Visual Studio không chú ý đến các thiết lập của nó.

Trong trường hợp này, bạn cần đặt các tùy chọn thích hợp trong hộp thoại "Đính kèm quy trình". Để làm như vậy:

  1. Nhấp vào nút "Chọn ..." ở cuối dòng có gắn nhãn "Đính kèm với:".
  2. Trong hộp thoại xuất hiện, hãy đảm bảo chọn "Gốc", ngoài phiên bản "Quản lý" thích hợp.

         

+0

Bạn có nghĩa là dự án ứng dụng chính (nơi Main() tọa lạc)? –

+1

@Captain: Tôi không thực sự chắc chắn những gì bạn đang yêu cầu. Bạn cần bật tính năng này cho dự án ** khởi động ** của mình. Tôi cho rằng đó là ứng dụng .NET. –

+0

Phải, tôi đang thử ngay bây giờ .. –

2

Đến Project Properties ->Debug -> và thiết lập hộp kiểm

Enable unmanaged code debugging

HTH

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