Tôi có giải pháp C++. Dự án khởi động là một exe. Trong giải pháp có một số C# dlls (nhắm mục tiêu .NET Framework 2.0) được đăng ký cho COM interop. Khi tôi đặt điểm ngắt trong mã C#, tôi nhận điểm ngắt màu đỏ rỗng với "No native symbols in symbol file"
Gỡ lỗi C# dll từ giải pháp C++ qua COM
Tôi đã thử thiết lập Project Property Pages -> Debugging -> Debugger Type
để trộn lẫn trong dự án khởi động gọi phương thức COM.
Tôi đã kiểm tra Debug -> Windows -> Modules
. Nó đã tải các dll của tôi và trạng thái ký hiệu là "No native symbols in symbol file"
.
Đây không phải là kết thúc của thế giới bởi vì nếu tôi làm Debug -> Start Without Debugging
và sau đó Debug -> Attach to Process
, hãy thay đổi Attach To:
thành Managed (v2.0, v1.1, v1.0) code, Native code
. Sau đó, tôi nhấn breakpoints trong cả mã C++ và mã C#.
Vì vậy, tôi có cách giải quyết khác nhưng tôi nghĩ nếu tôi có thể làm điều đó bằng cách đính kèm vào quy trình - tôi sẽ có thể thực hiện điều đó bằng cách chỉ gỡ lỗi.
Làm cách nào để có thể đạt được điểm dừng C# bằng cách chỉ thực hiện Debug -> Start Debugging
?
Nghi ngờ rằng có một cách khả thi, tôi đã cố gắng như vậy và dành hàng giờ cố gắng làm điều đó và cuối cùng bị mắc kẹt khi sử dụng quy trình đính kèm hoạt động tốt. – SinisterMJ
Đủ công bằng, tôi không có vấn đề gì khi sử dụng đính kèm để xử lý nó, chỉ là một trong những thứ mà bạn không thể bỏ qua vì bạn nghĩ "chắc chắn phải có cách" – Liam
Tôi cũng gặp vấn đề này vấn đề là "hỗn hợp" chọn Native + Managed (v4.0), vì vậy không có cách nào để chọn Native + Managed (v2.0) từ các thiết lập khởi động. –