[fpc-pascal] How to analyze a core dump?

Luca Olivetti luca at ventoso.org
Mon Jun 25 22:44:16 CEST 2007


En/na Jonas Maebe ha escrit:
> 
> On 14 jun 2007, at 19:04, Luca Olivetti wrote:
> 
>> No suggestions? Is there some special option (apart from -g) that I 
>> should specify to compile/link my program?
> 
> No. But the garbage backtrace means that either your gdb cannot parse 
> the signal handler frame, or that your program corrupted the call stack.

Well, I'm starting to get desperate, I cannot debug where the sigsev 
occurs, I put a bazillion writeln and still I cannot see where the 
problem is. I can reproduce the sigsev at will, only I cannot see where 
it happens. I suspect it's one of the threads in the c library 
(linphonecore, http://www.linphone.org) I'm using (since in all of my 
threads I put writeln in the critical places, as well as in all the 
callbacks from said library), alas there's no sigsev when the same 
library is driven by the c console program that comes with it (linphonec).
At one point I though the problem was in CheckSynchronize (since the 
last writeln before the sigsev was right before calling it), but it was 
just a timing coincidence (I was calling it with 1000, then when I tried 
  with 0 I saw the sigsev right in the middle of a debugging printf in 
the library).
Maybe it's not a good idea to mix c multithreaded libraries and pascal 
code? Any special unit I should use? (I already tried cmem and it made 
no difference).
If I cannot solve it I think I'll have to write a small backend program 
in c that communicates with pascal either through stdin/stdout 
redirection or with a socket.

Bye
-- 
Luca




More information about the fpc-pascal mailing list