Debug information can be provided using two methods.
•Debugging information (TDS or DWARF format)
•MAP files
Debug configurations of C++ Builder projects automatically generate debug information that provides symbols, filenames and line numbers.
However the release configurations of C++ Builder projects do not automatically generate debug information. You need to configure that yourself.
Here's how you do that. It's slightly different if you're building 32 bit applications rather 64 bit applications.
You need to set both compiler and linker settings to get debug information. Setting just one or the other will not give you debug information you can use.
Project Configuration
Change your project settings to target 32 bit builds.
Compiler Settings
Linker Settings
When you have edited the project options you need to rebuild the software for the options to take effect and create the debug information.
Project Configuration
Change your project settings to target 64 bit builds.
Compiler Settings
Linker Settings
When you have edited the project options you need to rebuild the software for the options to take effect and create the debug information.
MAP files are not generated by default. You need to enable the option to generate a detailed map file.
The method is the same for 32 bit and 64 bit C++ Builder.
Select the project configuration as shown in the Debugging Information section above, then modify the C++ Linker, Output settings.
Linker Settings
When you have edited the project options you need to rebuild the software for the options to take effect and create the debug information.
If you can create both debugging information and MAP files which should I use?
Thread Validator uses this information to provide symbols, filenames and line numbers in stack traces.
For this purpose it doesn't matter whether you use Debugging Information or MAP files.