Tệp PDB là gì và làm cách nào tôi có thể loại trừ nó khỏi thư mục phát hành khi tôi xây dựng lại giải pháp của mình?
Tệp PDB là gì và làm cách nào tôi có thể loại trừ nó khỏi thư mục phát hành khi tôi xây dựng lại giải pháp của mình?
Câu trả lời:
Tệp PDB chứa thông tin để trình gỡ lỗi hoạt động. Có ít thông tin hơn trong bản dựng Phát hành so với bản dựng Debug. Nhưng nếu bạn muốn nó hoàn toàn không được tạo, hãy chuyển đến thuộc tính Build của dự án, chọn cấu hình Phát hành, nhấp vào "Nâng cao ..." và trong "Thông tin gỡ lỗi" chọn "Không".
Ban đầu tôi đã tự hỏi mình câu hỏi " Tôi có cần tệp PDB được triển khai cho máy của khách hàng không? " Và sau khi đọc bài đăng này, đã quyết định loại trừ tệp.
Mọi thứ đều hoạt động tốt, cho đến hôm nay, khi tôi đang cố gắng tìm ra lý do tại sao một hộp thông báo chứa một thông tin Exception.StackTrace
bị thiếu tệp và số dòng - cần thiết để khắc phục ngoại lệ. Tôi đã đọc lại bài đăng này và tìm thấy một thông tin chính: mặc dù PDB không cần thiết để ứng dụng chạy, nhưng cần phải có tệp và số dòng trong StackTrace
chuỗi. Tôi đã bao gồm tệp PDB trong thư mục thực thi và bây giờ tất cả đều ổn.
accepted answer
ở đây không đề cập đến.
PDB là tên viết tắt của P rogram D ata B ase. Như tên cho thấy, nó là một kho lưu trữ (lưu trữ liên tục như cơ sở dữ liệu) để duy trì thông tin cần thiết để chạy chương trình của bạn ở chế độ gỡ lỗi. Nó chứa nhiều thông tin quan trọng cần thiết trong khi bạn gỡ lỗi mã của mình (trong Visual Studio), ví dụ như tại điểm bạn đã chèn các điểm ngắt mà bạn mong muốn trình gỡ lỗi phá vỡ trong Visual Studio.
Đây là lý do tại sao nhiều lần Visual Studio không đạt được điểm dừng nếu bạn xóa các *.pdb
tệp khỏi thư mục gỡ lỗi của mình. Trình gỡ lỗi Visual Studio cũng có thể cho bạn biết số dòng mã chính xác mà tại đó một ngoại lệ xảy ra trong dấu vết ngăn xếp với sự trợ giúp của *.pdb
các tệp. Vì vậy, các tệp pdb hiệu quả thực sự là một lợi ích cho các nhà phát triển trong khi gỡ lỗi một chương trình.
Nói chung, không nên loại trừ việc tạo các *.pdb
tệp. Từ quan điểm phát hành sản xuất, điều bạn nên làm là tạo các tệp pdb nhưng không gửi chúng đến trang web của khách hàng trong trình cài đặt sản phẩm. Bảo toàn tất cả các tệp PDB được tạo trên một máy chủ ký hiệu từ đó có thể được sử dụng / tham chiếu trong tương lai nếu được yêu cầu. Đặc biệt cho các trường hợp khi bạn gỡ lỗi các vấn đề như sự cố quá trình. Khi bạn bắt đầu phân tích các tệp kết xuất sự cố và nếu các *.pdb
tệp gốc của bạn được tạo trong quá trình xây dựng không được bảo tồn thì Visual Studio sẽ không thể tạo ra dòng mã chính xác gây ra sự cố .
Nếu bạn vẫn muốn vô hiệu hóa việc tạo các *.pdb
tệp hoàn toàn cho bất kỳ bản phát hành nào, hãy chuyển đến các thuộc tính của dự án -> Tab Build -> Nhấp vào Advancednút -> Chọn none
từ hộp thả xuống "Thông tin gỡ lỗi" -> nhấn OKnhư hiển thị trong ảnh chụp bên dưới .
Lưu ý : Cài đặt này sẽ phải được thực hiện riêng cho cấu hình bản dựng "Gỡ lỗi" và "Phát hành".
Một tệp PDB chứa thông tin được sử dụng bởi trình gỡ lỗi. Không bắt buộc phải chạy ứng dụng của bạn và không cần đưa vào phiên bản phát hành của bạn.
Bạn có thể vô hiệu hóa các tệp pdb được tạo trong Visual Studio. Nếu bạn đang xây dựng từ dòng lệnh hoặc tập lệnh thì bỏ qua công /Debug
tắc.
Tệp cơ sở dữ liệu gỡ lỗi chương trình (pdb) là định dạng tệp của Microsoft để lưu trữ thông tin gỡ lỗi.
Khi bạn xây dựng một dự án bằng Visual Studio hoặc dấu nhắc lệnh, trình biên dịch sẽ tạo các tệp ký hiệu này.
Kiểm tra tài liệu Microsoft