On 09/02/2009 4:05 AM, Christophe Genolini wrote:
Thanks, that was a stupid mistake (I did not know that this is so important).

So I still have a problem realy more complex and I do not know was is wrong. I am running a .C procedure in a R loop. After 4, 5 or sometimes 6 call to the C procedure, Rgui crash (it closes asking me if I want to send a report to Microsoft). Is there a debuger that can run the C code with some R in it ? And what kind of mistake can provoque such a crash ?

Debugging C code in R on Windows is a little painful. valgrind doesn't run on Windows (as far as I know), and none of the commercial debuggers support the debug format that gcc uses. However, you can run gdb, and it mostly works. See my page

http://www.stats.uwo.ca/faculty/murdoch/software/debuggingR/

for details. (I use the Cygwin version of gdb, but it usually gets the backtrace wrong if you look for a stack dump. I understand the MinGW version is better at that, but I've been unable to get the Insight graphical front end to work with it. I'd love to hear from someone who has a modern graphical front end working for debugging MinGW code on Windows.)

Duncan Murdoch


Thanks
Christophe


So I thaught that I find t
On 08/02/2009 5:37 PM, Christophe Genolini wrote:
Hi the list,

I need to include some C code in R, but the behavior of the C code is strange : Here is my code :
--- 8< ---
Rprintf("\n XXXX mTraj=%f mClus=%f",mTraj[i+nbId*c],mClustersCenter[j+nbClusters*c]);

    Rprintf("\nDistA=%d Tmp=%d",dist,tmp);
            tmp = mTraj[i+nbId* c] - mClustersCenter [j+nbClusters* c];

    Rprintf("\nDistB=%d Tmp=%d",dist,tmp);
            dist += (tmp * tmp);

    Rprintf("\nDistC=%d Tmp=%d",dist,tmp);
--- 8< ----

Herer are the stranges results it gives :

XXXX mTraj=1.000000 mClus=3.000000
DistA=0 Tmp=0
DistB=0 Tmp=0
DistC=0 Tmp=1074790400

I ask on a C chat, but no one can answer me.
Any idea of what wrong ?
You likely have the wrong types for the variables you're printing. In C, the format has to match the type of the variable; if you use the wrong one, you get garbage.

Duncan Murdoch


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to