[fpc-devel] profiling on win32

Lee, John john.lee at logicacmg.com
Wed Feb 15 15:22:05 CET 2006


Guilio 

Why not zip all the files needed, add a short readme with your name & email address, and I'll then put it onto ftp.freepascal.org  /contribs in a directory called win32_prof or something similar? 
Email me directly (leej at logica.com) if you can do this & I'll give you an upload ftp address for the zip. 

Regards John
> -----Original Message-----
> From: fpc-devel-bounces at lists.freepascal.org
> [mailto:fpc-devel-bounces at lists.freepascal.org]On Behalf Of Giulio
> Bernardi
> Sent: 15 February 2006 10:29
> To: FPC developers' list
> Subject: Re: [fpc-devel] profiling on win32
> 
> 
> >> Did someone manage to enable profiling on win32?
> >> I linked with libc.a, libgmon.a, libgcc.a and 
> libkernel32.a from cygwin 
> >> but
> >> it fails on startup.
> >> If I start the -pg compiled program I see:
> >>
> >> monstartup: out of memory
> >>
> >> Then program runs without problems, and at the end I see a 
> couple of 
> >> access
> >> violations from gprof libraries code:
> >>
> >>       2 [main] testprogram 1316 handle_exceptions: Exception:
> >> STATUS_ACCESS_VIOLATION
> >>     242 [main] testprogram 1316 open_stackdumpfile: 
> Dumping stack trace 
> >> to
> >> testprogram.exe.stackdump
> >>
> >> I couldn't find anything on fpc website: faqs read "Profiling is 
> >> supported".
> >> I had it working on linux but I'm not able to have it 
> working under win32
> >
> > FPC can link to gcc under Windows, but doesn't use the 
> runtime of gcc
> > under win32 (mingw or cygwin), but directly accesses 
> kernel32 and user32.
> >
> > Usually this is a blessing, but probably the profiler is 
> very tied to 
> > this.
> >
> > What probably should be done is to properly initialise libc 
> and reroute
> > memory handling to libc's mmalloc. This could impact the 
> profiling result
> > maybe though.
> >
> > Note that on windows there are at least three "c" 
> frameworks to link to
> > (Microsofts msvcrt, mingw, cygwin), so any solution will 
> always be windows
> > specific.
> 
>  Everything is all right now with Peter fix (it was Peter, 
> wasn't he? I 
> can't
>  remember now).
> I sent a mail to the ML saying it worked but I think it 
> didn't arrive :)
> I only needed to add libgmon.a, libgcc.a, libc.a and 
> libkernel32.a from
> cygwin to fpc bin directory.
> In the mail that didn't arrive I wrote:
> Why don't add gprof.exe, libgmon.a, libgcc.a, libc.a and 
> libkernel32.a from
>  cygwin to win32 distribution of fpc?
> 
>  So, everything works and everyone is happy now (at least I am :P)
> 
>  bye
> Giulio
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
> 


This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.



More information about the fpc-devel mailing list