Bonjour,
j'essaye de profiler du code FPC/Lazarus sous Windows (car ce code se connecte à Excel). Différentes tentatives n'ont pas abouties:
- Valgrind ne fonctionne que sous Linux. 
- Very Sleepy ne traduit pas les informations de déboguage DWARF2 contenues dans le binaire 
- l'option gprof (-pg) ne fonctionne pas sur FPC 3.x sur windows 
- l'option gprof (-pg) fonctionne en revanche avec FPC 2.6 sur windows, MAIS l'exécutable n'est pas assemblé car il manque des librairies unix: c, gcc, user32, kernel32, etc. 
j'ai installé cygwin64 avec toutes les librairies. Toutes les librairies sont maintenant incluses dans l'exécutable (libc.a, libgcc.a, etc).
Malheureusement, il reste des symboles non reconnus. ci-dessous la copie de la sortie de FPC:
1 2 3 4 5 6 7 8 9 10 11
| Free Pascal Compiler version 2.6.4 [2015/04/18] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling SimpleProgram.lpr
Linking SimpleProgram.exe
SimpleProgram.lpr(5,1) Error: Undefined symbol: __mcleanup
SimpleProgram.lpr(5,1) Error: Undefined symbol: _monstartup
SimpleProgram.lpr(5,1) Error: Undefined symbol: ___main
SimpleProgram.lpr(5,1) Error: Undefined symbol: _cygwin_crt0
SimpleProgram.lpr(5,1) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted |
Le source de SimpleProgram.lpr est extremement simple:
1 2 3 4
| program SimpleProgram;
begin
Writeln('Hello World!');
end. |
La commande FPC est elle aussi très simple:
fpc -FlCygwin64\lib -FlCygwin64\lib\gcc\x86_64-pc-cygwin\4.9.3 -FlCygwin64\lib\w32api -pg SimpleProgram.lpr
Quelqu'un a-t-il déjà réussi à profiler du code FPC sous Windows?
Comment faire?
Y a-t-il un autre outil qui permet de profiler du code FPC, ou de mesurer la couverture de tests?
Comment compléter les symboles manquants si je suis sur la bonne piste?
Merci pour votre aide!
Partager