[fpc-devel] Debug compiler
Sven Barth
pascaldragon at googlemail.com
Fri Oct 30 19:38:34 CET 2015
On 30.10.2015 16:01, Ondrej Pokorny wrote:
> just out of curiosity, I wanted to play with the debugger and try to add
> http://bugs.freepascal.org/view.php?id=28820
Seems like my little hint helped :P
> 2.) I set run parameters to:
> -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq
> -FiP:\programs\lazarus\_zk\CT_ClassConstruct\lib\x86-win64
> -FuP:\programs\lazarus\_zk\CT_ClassConstruct\
> -FUP:\programs\lazarus\_zk\CT_ClassConstruct\lib\x86-win64\ project1.lpr
> (basically the same Lazarus uses to build project1.lpr)
>
> 3.) I set working directory to:
> p:\programs\lazarus\_zk\CT_ClassConstruct\
> (directory with project1.lpr)
I usually use -n to have the compiler not use any config file at all so
I can be sure that it only uses the parameters I supply on the command
line (this way of course I need to supply the RTL path and the paths for
all other units I need as well). Also I have my test programs in a
subdirectory of the SVN checkout (in my case that directory is called
"fpctests") and the output directory next to it ("testoutput") with the
working directory set to the checkout directory. This way I usually have
run parameters like this:
-n -Furtl\units\i386-win32 -viwn -FEtestoutput .\fpctests\txyz.pp
This way I can also quite quickly check a test if I might have broken
it, for example:
-n -Furtl\units\i386-win32 -viwn -FEtestoutput .\tests\test\thlp1.pp
Speaking of which: I suggest you to run the compiler test suite first
without any modifications to the compiler and safe at least the faillist
file. This way you can diff with testruns with your modifications to see
if you broke something.
Like this (I assume current dir is the checkout directory):
make clean all FPMAKEOPT="-T 4"
cd tests
make clean full TEST_FPC=E:\path\to\checkout\compiler\ppc386.exe
CHUNKSIZE=50 -j 4
mkdir output\unmodified
cp output\i386-win32\faillist output\unmodified
cd ..
{ do changes to compiler }
make clean all FPMAKEOPT="-T 4"
cd tests
make clean full TEST_FPC=E:\path\to\checkout\compiler\ppc386.exe
CHUNKSIZE=50 -j 4
diff -aur output\unmodified\faillist output\i386-win32\faillist
(Alternatively to diff you can use a tool like WinMerge)
Regards,
Sven
More information about the fpc-devel
mailing list