Jump to content
Sign in to follow this  
DPStano

CI build from sources (*.pas) not *.dcu

Recommended Posts

I'm trying to build the whole project from sources (only *.pas) with help of CI (gitlab-ci-runner) and dcc32.exe to have info about every System.* function in map file to properly reconstruct stack when Exception occurs.

 

when I include \lib\win32\release that contains *.dcus project builds successfully but when I change it to \lib\source\rtl\sys that contains unit System.pas (checked)

build will end with error

 

Fatal: F1027 Unit not found: 'System' or binary equivalents (.dcu)
Fatal: F1027 Unit not found: 'System' or binary equivalents (.dcu)

 

anybody know what can be wrong?

 

Edit:

dcc32.exe cli compiler is from delphi 10.3

Edited by DPStano

Share this post


Link to post

You can use the Emba supplied dcus for the rtl/vcl/FMX libraries. You will be able to generate full detailed map files from them. 

Share this post


Link to post

I'll recheck it but jcldebug can't provide line info for units compiled from dcus 

Edited by DPStano

Share this post


Link to post

hmm I can't see any `Line numbers for System(System.pas) segment .text` section in my map files for release build with detailed map turned on ... this line info is there just for debug builds

Share this post


Link to post

my problem is that I'm getting weird reports from users, exceptions like EListError List index out of bounds (17) with a stack trace like

 

System.Classes in TList.Get

System.Classes in TList.Get

Vcl.Forms in TApplication.HandleMessage

 

it looks like that call stack trace is not complete, i think that jcldebug will use raw mode to resolve stack even if app is compiled with stack frames and will end up with some misleading info

 

it seems I have broken stack trace only from units linked from dcus so the plan is to enable stack frames and recompile the whole app from sources

Edited by DPStano

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×