关于#vs逐行调试#的问题,如何解决?

vs逐行调试出现问题

int main()
{
    char arr1[] = "hello";
    return 0;
}

想要逐行调试监视arr1变量
0x00007FF8BF5717A0 (ntdll.dll)处(位于 bitclass.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000000000000E0 时发生访问冲突。

img

在使用Visual Studio进行调试C语言程序,并且在调试时碰到了“读取位置0x00000000000000E0时发生访问冲突”的错误。

这个错误通常是由于在调试时访问了一个不存在的内存地址或已被释放的内存导致的。

在你的代码中,char arr1[] = "hello"; 这句代码中字符串常量"hello"在程序结束之前会被释放,导致你在调试时不能正确的读取arr1的值。

解决方案是让字符串在程序结束前一直存在,可以将它定义成全局变量,或者在main函数中定义一个静态变量。

static char arr1[] = "hello";

其他的问题,可能是编译配置的问题,你可以重新构建你的项目或者尝试更新你的 Visual Studio 以获得最新的补丁和改进.

检测是否出现空指针异常或者数字越界异常,另外就是加了头文件stdio.h没有