Chúng tôi đã đi qua các điểm được liệt kê trên MSDN WRT đến lỗi này (ngoại trừ # 5). Ba người khác nhau trên các máy khác nhau đang nhận được cùng một vấn đề. PDB được tạo ra, nhưng thất bại ở đâu đó ở giữa.LNK1201 Visual C++ 2010 Dự án lớn không tạo PDB
chi tiết:
- 67 thư viện tĩnh
- 4,27 GB bộ thư viện tĩnh
- 1048575 byte - kích thước của PDB khi mối liên kết không
- Cặp đôi cuối cùng của MB của PDB là null (zero của)
- Xây dựng bản phát hành thành công & tạo PDB (chúng tôi đã bật nó, không có thông tin gỡ lỗi trong exe)
- Xây dựng bản phát hành PDB chỉ dưới 1 GB.
Chúng tôi đã tắt máy quét vi-rút. Xem với procmon.exe và thấy không có sự nghi ngờ tương tác với PDB khi mối liên kết thất bại.
Related question đề xuất ~ 1 GB giới hạn trên PDB - bất kỳ ai/cách xác nhận điều đó?
CẬP NHẬT & SOLUTION:
@Barry và đội crom đã đưa ra giải pháp. Here là bản vá cho hệ thống xây dựng Chromium triển khai độ phân giải.
Chi tiết
Các PDB sử dụng một hệ thống tập tin ảo nội bộ: MSF. Khi trình liên kết tạo tệp PDB, nó sẽ mặc định thành kích thước trang 2 kB (có thể không cấu hình). Rõ ràng & may mắn thay khi trình biên dịch tạo PDB của nó, nó mặc định kích thước trang là 4 kB. Trình biên dịch PDB này có thể được hoisted và được sử dụng làm cơ sở cho PDB của trình liên kết.
Better giải pháp Là một Pre-Link tổ chức sự kiện về dự án đó là liên kết exe hoặc dll bạn, chúng tôi có thể nhấc trình biên dịch để tạo cần PDB ban đầu của chúng tôi:
cl -c "dummy_empty.cpp" /Zi /Fd"$(TargetDir)$(TargetName).pdb"
gốc Giải pháp
Tạo một dự án thư viện tĩnh C++ với một tệp cpp trống, định cấu hình 'Tên tệp cơ sở dữ liệu Porgram' để xuất kết quả khác với mặc định. Sử dụng một số sự kiện xây dựng dự án (tôi đã sử dụng 'Pre-Link Event') để sao chép trong PDB đã tạo trước đó vào bất cứ nơi nào bạn liên kết mong đợi (xem Linker-> Generate Program Database File) để tạo PDB của nó. May mắn thay, trình liên kết sẽ chấp nhận bản sao chép trong PDB và sử dụng kích thước trang 4 kB của nó. Điều này sẽ mua một số thời gian, và một số không gian cho phép lên đến một PDB 2GB.
Xây dựng gia tăng được biết là gây ra các vấn đề như vậy. Điều này có xảy ra trong suốt quá trình xây dựng lại hoàn chỉnh sau khi làm sạch không? –
Có, nó đang xảy ra về xây dựng và xây dựng lại. Tôi tin rằng liên kết gia tăng là tắt, nhưng chúng tôi đang kiểm tra hai lần. – Zac