Tôi có thử nghiệm đơn vị C# trong khung kiểm tra Visual Studio 2013, bài tập CLI và mã gốc. Tôi muốn điều tra phần gốc của mã trong khi thực hiện thử nghiệm đơn vị C#. Tuy nhiên chạy Test -> Debug -> All Test chạy trình gỡ rối được quản lý, vì vậy các điểm ngắt trong mã gốc không bị đánh và tôi không thể theo dõi từ C# -> mã C++/CLI như tôi có thể khi chạy chương trình trong trình gỡ lỗi chế độ hỗn hợp.Sử dụng gỡ lỗi chế độ hỗn hợp trên thử nghiệm đơn vị được quản lý trong Visual Studio 2013
Ví dụ, mã này trong bài kiểm tra đơn vị của tôi:
[TestMethod]
public void TestRoundTripEvaluate()
{
var obj = new MyCLIObject();
var roundtripped = RoundtripXml(obj);
// I would like to trace into here to see why Equals returns false.
// But the definition for MyCLIObject is in a CPP file and cannot be navigated
// to running the unit test because Visual Studio starts the debugger as "managed only"
// when using Test -> Debug -> All Tests
Assert.IsTrue(obj.Equals(roundtripped));
}
Nhìn vào các thiết lập dự án cho dự án đơn vị kiểm tra, tất cả mọi thứ dưới Debug bị vô hiệu hóa, vì vậy tôi không thể kiểm tra Enable Native Code Debugging, mà cho phép hành vi này cho một chương trình bình thường.
Làm cách nào để có thể bật gỡ lỗi chế độ hỗn hợp hoặc gỡ lỗi gốc khi chạy thử nghiệm đơn vị VS C#?
Tôi đang sử dụng vs2013 cập nhật 4 và hộp kiểm "Enable mã gỡ lỗi bản địa" có sẵn. Bạn đang sử dụng phiên bản VS nào? – codingadventures