Sự khác nhau giữa gỡ lỗi và bản phát hành bản dựng cho ứng dụng Cocoa là gì? Tôi biết phiên bản gỡ lỗi chứa thông tin bổ sung để gỡ lỗi nhưng những gì khác là khác nhau?Xcode/Cocoa: Sự khác biệt giữa bản dựng gỡ lỗi và bản phát hành là gì?
Trả lời
Bản dựng gỡ lỗi sẽ chứa các biểu tượng gỡ lỗi có thể được trình gỡ lỗi sử dụng. Bản phát hành bản phát hành thường không chứa các biểu tượng gỡ lỗi, vì vậy nếu bạn nhận được kết xuất lỗi, tất cả những gì bạn sẽ nhận được là một loạt các địa chỉ thập lục phân thay vì các tên biểu tượng hữu ích.
Bản dựng gỡ lỗi không được biên soạn với tối ưu hóa (-O0
với gcc), trong khi bản dựng được phát hành được tối ưu hóa (thường là -O2
hoặc -O3
). Tối ưu hóa làm cho gỡ lỗi nhiều, nhiều khó khăn hơn. Nếu bạn cố gắng để gỡ lỗi một ứng dụng phát hành, trình gỡ lỗi sẽ nhận được rất bối rối, vì báo cáo lắp ráp không còn phù hợp với báo cáo HLL, báo cáo được sắp xếp lại, chức năng được sắp xếp theo hàng vòng được unrolled vv
Debug và phát hành cũng xây dựng xác định các ký hiệu tiền xử lý khác nhau, và một số mã được biên dịch có điều kiện dựa trên các ký tự đó (ví dụ, các giới hạn mảng kiểm tra, xác nhận, vv), mặc dù điều đó phụ thuộc nhiều vào ứng dụng. Một ví dụ điển hình sẽ là #define NDEBUG
cho chế độ phát hành, điều này khiến cho các xác nhận bị xóa.
Trong Tiger, bản dựng gỡ lỗi là "không được liên kết". Điều này là nó được tối ưu hóa cho bạn chỉ có môi trường và không thực sự là một xây dựng hoàn chỉnh.
- 1. Sự khác biệt giữa Gỡ lỗi và Phát hành trong ScriptMode ScriptManagers là gì?
- 2. Sự khác nhau giữa cấu hình xây dựng "Phân phối" và "Bản phát hành" là gì?
- 3. Sự khác biệt phụ thuộc giữa Phát hành & Gỡ lỗi
- 4. Giá trị float hoạt động khác nhau trên bản phát hành và gỡ lỗi xây dựng
- 5. Sự khác biệt giữa phát hành và tự động phát hành là gì?
- 6. Gỡ lỗi XCode và xây dựng bản phát hành khi gỡ lỗi
- 7. Bản dựng gỡ lỗi và Bản phát hành trong Android NDK
- 8. Sự khác nhau giữa phiên bản phát hành và tích hợp là gì?
- 9. Biến hoặc thuộc tính CMake để phân biệt gỡ rối betwen và phát hành bản dựng
- 10. Sự khác biệt thực sự giữa Phiên bản Hệ điều hành SDK và Phiên bản Triển khai hoặc Phiên bản Hệ điều hành Triển khai là gì?
- 11. Sự khác nhau giữa miễn phí, dealloc, phát hành và tự động phát hành là gì?
- 12. Sự khác biệt giữa "Phiên bản cũ" và "Phiên bản ổn định" là gì?
- 13. Lỗi ứng dụng WinRT trong bản phát hành bản phát hành nhưng không gỡ lỗi
- 14. Sự khác biệt giữa gỡ lỗi và biên dịch là gì?
- 15. sự khác biệt giữa InterlockedCompareExchange phát hành (là gì) và Acquire()?
- 16. Sự khác biệt về hiệu năng mạnh mẽ: gỡ lỗi và phát hành
- 17. KDevelop với dự án CMake - cách quản lý gỡ lỗi và phát hành bản dựng?
- 18. Sự khác biệt cơ bản giữa thu gom rác thải trong C# và Java là gì?
- 19. Sự khác biệt giữa fn và fn * là gì?
- 20. C# Gỡ lỗi và phát hành
- 21. Sự khác biệt giữa hai bản đồ
- 22. sự khác biệt cơ bản giữa elseif và khác nếu
- 23. sự khác biệt giữa DoCmd.SetWarnings và CurrentDB.Execute là gì
- 24. Phát triển iPhone - sự khác biệt giữa phát triển và phân phối dự phòng là gì?
- 25. Sự khác biệt giữa "xây dựng" và "xây dựng lại" trong Visual Studio là gì?
- 26. Sự khác biệt giữa phát hành nhị phân và phát hành nguồn?
- 27. Sự khác biệt giữa CruiseControl (bản gốc) và CruiseControl.NET
- 28. Sự khác biệt giữa mẫu và đường dẫn là gì?
- 29. .Phát hành Bản phát hành Net hoạt động chậm hơn Gỡ lỗi
- 30. Sự khác biệt giữa is_a và instanceof là gì?