Debugging options

Posted on 2005-04-06
Last Modified: 2010-04-05

In Delphi 4 Pro, there are some debugging options (check boxes) at Project->Options->Compiler->Debugging, which are:

Debug information
Local symbols
Reference info (Y)
    Definitions only
Assertions (C)

Normally, whilst developing the project, all items are left checked (as they are by default).  However, when the time comes to compile and build the project to create the final release .exe that will be deployed to end users, should these items be unchecked or is it okay to leave them checked?

For security reasons, it is best for no debugging information to be present in the release .exe.  However, when compiling and building a project with/without the debugging options, the .exe file seems to be exactly the same number of bytes, therefore, what difference do these options make to the .exe?

I'm not using any assertions in the code I have written (unless any of Delphi's own units use them by default).

Thanks in Advance,

Question by:Richard2000
    LVL 15

    Expert Comment

    I dont personally switch stuff off when compiling the final version. I dont think it will make much difference at all, or at least I dont notice anything.
    LVL 11

    Expert Comment

    I do not switch off either....

    LVL 3

    Expert Comment

    I use upx to compress and encrypt when I compile. Search for it on google its very good.
    LVL 6

    Accepted Solution

    I normally turn it all off. Be careful about the messages you put in your assertions, if you leave them turned on. Users hate assert messages like: "Should not get here." or what once happened to me "Wrong data, idiot."

    my €0.02
    LVL 13

    Expert Comment

    just checked what it thought it was... when you put those options Delphi includes debug information in the DCU files, not in the actual executable, that's why Delphi executables are always ready to go when you compile them

    this would be an issue if you were writing components for example distributing .dcu files

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
    Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
    This video is in connection to the article "The case of a missing mobile phone (". It will help one to understand clearly the steps to track a lost android phone.
    Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    8 Experts available now in Live!

    Get 1:1 Help Now