Bạn nên tuân theo quy ước VCL cho các thành phần của bên thứ ba:
- đường dẫn đầu ra thay đổi DCU trong tất cả các gói của bên thứ ba vào một thư mục khác với thư mục mà bạn lưu trữ các tập tin PAS.
- Biên dịch từng gói một lần trong chế độ Gỡ lỗi và lưu các tệp DCU được tạo trong một thư mục (ví dụ: DCU gỡ lỗi).
- Biên dịch từng gói một lần nữa, nhưng lần này ở chế độ Phát hành và lưu các tệp DCU được tạo trong một thư mục (ví dụ: DCU phát hành).
- Chuyển đến tùy chọn Delphi và thêm đường dẫn phát hành DCUs vào "Đường dẫn thư viện".
- Trong tùy chọn Delphi, thêm đường dẫn của tệp nguồn vào "Đường dẫn duyệt web".
- Trong tùy chọn Delphi, thêm đường dẫn gỡ lỗi DCU vào "Gỡ lỗi đường dẫn DCU".
Bằng cách này, Delphi sẽ chỉ nhìn thấy DCU phát hành của thành phần bên thứ ba đó khi bạn đang biên dịch dự án của mình, vì vậy trình gỡ rối không thể bước vào mã nguồn. Mặt khác, vì đường dẫn nguồn được bao gồm trong "Đường dẫn duyệt web", bạn vẫn có thể điều hướng đến mã nguồn bên trong IDE bằng Ctrl + Nhấp vào tên đơn vị hoặc bất kỳ thứ gì được xác định trong các đơn vị đó.
Nếu bạn muốn gỡ lỗi thành phần, bạn có thể chuyển đến "Dự án | Tùy chọn | Trình biên dịch Delphi | Biên dịch" và bật "Sử dụng gỡ lỗi .dcus". Điều này sẽ buộc trình biên dịch sử dụng "Gỡ lỗi đường dẫn DCU" thay vì "Đường dẫn thư viện".
VCL hoạt động giống nhau, thông thường bạn không bước vào mã nguồn VCL khi bạn đang gỡ lỗi dự án của mình, nhưng nếu bạn bật "Sử dụng gỡ lỗi .dcus", bạn cũng có thể gỡ lỗi mã nguồn VCL.
JVCL cũng tổ chức các gói và mã nguồn theo cùng một cách.
EDIT: Nếu bạn áp dụng cách này, và muốn có trình duyệt mã (Ctrl + Click) ngày làm việc; xin lưu ý rằng khi bạn biên dịch phiên bản phát hành của các gói, bạn phải đặt Thông tin tham chiếu biểu tượng trong "Project | Options | Delphi Compiler | Compiling" thành "Reference Info"; nếu không, Ctrl + Nhấp chuột sẽ không hoạt động đối với các đơn vị đó. Theo mặc định, cấu hình Phiên bản phát hành đặt Thông tin tham chiếu biểu tượng thành Không có gì.
Xem thêm [Cách bỏ qua các phần mã trong khi gỡ lỗi?] (Http://stackoverflow.com/questions/449159/in-delphi-how-to-skip-sections-of-code-while-debugging) –