Add positive cDAC loading policy tests with .NET 11 dumps

Đang mở
#5,932 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
cpp, linux

Hướng nghiên cứu

Bắt đầu với các bài kiểm thử policy negative/fallback cDAC hiện có của DbgShim.UnitTests và workflow test-asset chẩn đoán. Truy vết việc kích hoạt trực tiếp IXCLRDataProcess và DBI ICorDebugProcess, sau đó thêm phạm vi kiểm thử dump .NET 11 trên Windows và Linux cho cả ba policy. Hoàn tất nghĩa là CI chứng minh được việc kích hoạt cDAC positive, lựa chọn provider và hành vi không thay đổi của DAC legacy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Background

Dbgshim now has deterministic negative/fallback coverage for the cDAC loading policies by pointing DOTNET_CDAC_PATH at a nonexistent library. The tests verify LegacyDacOnly, PreferCDac, and CDacOnly for both direct IXCLRDataProcess activation and the DBI ICorDebugProcess path.

The current DbgShim.UnitTests dump assets are .NET 6, so they cannot positively validate activation through mscordaccore_universal. Positive coverage requires dumps generated from a compatible .NET 11 runtime and the matching cDAC/DBI artifacts.

Proposed work

  • Generate and publish Windows and Linux .NET 11 dump test assets using the existing diagnostics test-asset workflow.
  • Make the matching mscordaccore_universal and mscordbi available to DbgShim.UnitTests.
  • Add positive policy tests for both activation routes:
    • Direct data access requesting IXCLRDataProcess.
    • DBI activation requesting ICorDebugProcess.
  • Verify policy behavior:
    • CDacOnly succeeds without invoking the library provider.
    • PreferCDac succeeds through cDAC without invoking the fallback provider.
    • LegacyDacOnly uses the legacy DAC provider and succeeds.
  • Include Windows-hosted Linux cross-dump coverage so target platform detection and cDAC activation are exercised together.
  • Assert which path was used, not only that activation succeeded, using provider invocation counts and/or a test-visible activation signal.

Acceptance criteria

  • Positive cDAC activation is exercised in CI against a .NET 11 dump.
  • Direct data-access and DBI routes are both covered.
  • All three loading policies have independently identifiable test cases.
  • The tests prove cDAC success does not consult the fallback provider.
  • Legacy DAC behavior remains covered and unchanged.
Ngôn ngữ chính
C++
Star
1.3k
Fork
407
Merge trung bình
21 giờ 5 phút
Pull request đã merge (30 ngày)
78

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Không có Dockerfile hay tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của dotnet/diagnostics

Tất cả issue của dotnet/diagnostics

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.