in reply to Re: A query on XS programing with multiple interpreter on Linux!!!
in thread A query on XS programing with multiple interpreter on Linux!!!

I got the problem. Actually I was little confused after seeing the code in gdb. gdb shows the code which is present in my .c file but actually it is executing the real code corresponding to the appropriate method. I just look the corresponding line no shown by gdb in .xs file and find that it is executing the right code. I really don't know why gdb is not showing appropriate code from .c file!!!!
Thanks
Regards
-Pijush
  • Comment on Re: Re: A query on XS programing with multiple interpreter on Linux!!!

Replies are listed 'Best First'.
Re: Re: Re: A query on XS programing with multiple interpreter on Linux!!!
by hv (Prior) on Apr 19, 2004 at 15:59 UTC

    In the process of converting the .xs file to .c, lots of #line directives are introduced to allow the debugger to know the original source of the lines of code directly copied from the XS. It is possible that gdb is getting confused by these, or xsubpp may have got confused and emitted the wrong lines - you could try stripping out all the lines in the .c file starting #line and recompiling, which might allow gdb to do a better job.

    First though it is worth confirming that your program is actually sitting in the infinite loop; you might consider printing a dot and then sleeping a second within the loop, or alternatively you could try to force an error for gdb to catch, for example by dereferencing a null pointer:

    char c = *(char*)0;

    Hugo