Building Large 64bit DEBUG Exes with Split DWARF option

TwineCompile - Cut C++Builder compile times by up to 50x!
garethAXR
Posts: 4
Joined: Thu Mar 24, 2022 4:23 am

Building Large 64bit DEBUG Exes with Split DWARF option

Post by garethAXR »

Hi,

I am trying to build a large 64Bit exe in DEBUG mode using the "Split DWARF" option to solve "Out of Memory" linker issues.

With TwineCompile, the exe builds OK and runs from the IDE, the problem is that when adding a breakpoint, the IDE only shows the CPU view. I guess the debug info is not being linked correctly as it is now stored in seperate files.

If I switch off TwineCompile, it is OK and breakpoints/watches work as expected. (The only problem with this is, now in 11.1, the internal parallel compilation seems to have broken and I have to compile using a single thread which tales 40 minutes to build).

I am using Alexandria 11.1 (though this also affected 10.4.2 and 11.0) and TwineCompile 5.4 from GetIt with the CLANG compiler
garethAXR
Posts: 4
Joined: Thu Mar 24, 2022 4:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by garethAXR »

Just a quick addition, it seems if I perform a "Clean" operation first and then "Run with debugging" it works as expected. But if I make a small code change and then "Run with debugging", it only shows the CPU view at a breakpoint. It looks like after the first build, the dwo files are changed, they start with sizes of 100's KB and then end as 1KB.
jomitech
Site Admin
Posts: 2153
Joined: Wed Oct 08, 2008 12:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by jomitech »

This is interesting. Do you have the same issue if you turn off Parallel Project Builds in the TwineCompile options?
Jon
garethAXR
Posts: 4
Joined: Thu Mar 24, 2022 4:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by garethAXR »

Yes, this is with the parallel builds tunred off.
jomitech
Site Admin
Posts: 2153
Joined: Wed Oct 08, 2008 12:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by jomitech »

Can you download this fix, extract into the TwineCompile Program Files directory and see if it resolves this issue?

https://www.jomitech.com/downloads/SplitDwarfFix.zip
Jon
garethAXR
Posts: 4
Joined: Thu Mar 24, 2022 4:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by garethAXR »

Hi Jon,

Yes that solved the issue. Many thanks, that made C++Builder usable again.

Gareth
jomitech
Site Admin
Posts: 2153
Joined: Wed Oct 08, 2008 12:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by jomitech »

Excellent, glad to hear that.
Jon
zzattack
Posts: 22
Joined: Tue Feb 02, 2021 3:35 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by zzattack »

Hi Jon,
Did this make it to an updated build yet?
jomitech
Site Admin
Posts: 2153
Joined: Wed Oct 08, 2008 12:23 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by jomitech »

TwineCompile 5.6 has this fix, yes. Are you installing from GetIt or from our site, and if from GetIt, what IDE version are you using?
Jon
zzattack
Posts: 22
Joined: Tue Feb 02, 2021 3:35 am

Re: Building Large 64bit DEBUG Exes with Split DWARF option

Post by zzattack »

From GetIt, 11.3. Could have to do with our local changes to the .targets file (for customized eurekalog postprocessing step and TC_DisableProgress for reduced logspam).
Post Reply