debugging __device__ function Visual Studio problem?

I’m having a recurring problem trying to debug device functions. The debugger is reporting incorrect values for some variables. I’m using VS 2005 on Win XP x64, CUDA 2.0.

For example, if I use the nbody SDK example, compile as EmuDebug x64 and set a breakpoint at the start of the computeBodyAccel function, the debugger reports incorrect values for the float4 variable bodyPos. However it still uses the correct value. If I define a new variable “bodyPos_copy” and copy the value, then the debugger shows the correct value for the new variable.

computeBodyAccel(float4 bodyPos, float4* positions, int numBodies)

{

    extern __shared__ float4 sharedPos[];

	float4 bodyPos_copy = bodyPos;

   float3 acc = {0.0f, 0.0f, 0.0f};

    

    int p = blockDim.x;

    int q = blockDim.y;

    int n = numBodies;

    int numTiles = n / (p * q);

Any ideas what is going on, or can someone at least confirm?