0x7730DCBB (ntdll.dll) (project1.exe 中)处有未经处理的异常: 0xC0000374: 堆已损坏。 (参数: 0x0007FF9F71327F0)

    xiaoxiao2025-04-16  22

    这是调试是进入函数出现的问题。 选择debug anyway后,会出现错误ntdll.pdb not loaded,在配置文件夹里找不到ntdll。 其中project1.exe是我这个应用程序的名字。 但是当我进入配置文件发现ntdll.pdb 确实是存在的,并没有丢失。 所以问题应该不是丢失而是损坏了,那至于为什么损坏,当然是堆栈溢出。 导致这个原因是——

    访问了不可访问的位置(未new的二维数组)

    我动态生成二维数组的时候把行和列定义反了!导致有些空间没有被开辟。虽然玄妙之处在于…。我有时候是可以成功运行的。大概是一次成功一次失败,这让我以为真的是vs的一个坑。不过换个意义上,确实也是vs的一个坑。

    这里po一下我动态生成二维数组的方法。

    int **arr = new int *[n]; for (int i = 0; i < n; i++) { //2是因为我知道这个二维数组只有两列,n行两列。这个2可以是一个变量 arr[i] = new int[2]; } int max = 0; int min = 0; for (int i = 0; i < n; i++) { arr[i][0] = arr[i][1] = 555; }
    最新回复(0)