Я думаю, вы видите что-то еще. Наиболее распространенные соглашения о вызовах в x86 передают аргументы аргументам функции в стеке. Но соглашение о вызовах x64 отличается, оно похоже на __fastcall на x86, оно передает первые 4 аргумента функции в регистрах (rcx, rdx, r8 и r9). Если функция нетривиальна, компилятор генерирует код для немедленного сохранения этих регистров в кадре стека.
К сожалению, отладчик недостаточно умен, чтобы знать о сохраненных местоположениях регистров. Он отображает значение регистра в стеке вызовов, значение, которое почти всегда менялось. Вы можете технически извлечь значение аргумента из стекового фрейма самостоятельно, но вы действительно, действительно хотите это сделать. В оптимизированном коде это смещение от rsp, а не rbp, и значение указателя стека также изменилось.
Я еще не нашел хорошего обходного пути для этого. С нетерпением ждем улучшений в отладчике VS2010, не знаю, решено ли это.