递归火山软件开发平台

标题: [已解决] 耐人寻味的错误。 [打印本页]

作者: urenai    时间: 2022-7-29 04:13
标题: [已解决] 耐人寻味的错误。
本帖最后由 urenai 于 2022-7-29 17:00 编辑

Visual Studio报错CRT detected that the application wrote to memory after end of heap buffer.

原因是:我只需要50个字节的内存长度,我刚好申请了50个字节。在离开释放内存是导致CRT什么的错误。
解决办法:申请内存时,多申请一些。






使用HPPULL服务器组件
用户进入时,分配内存,地址是:2421234623248。
在离开 返回时,销毁内存,地址也是:2421234623248 。

我调试输出了内存地址,是一样的。没有错误。
而直接编译却一切正常。那么,为什么调试的时候会报错呢??不应该啊。

  1. Debug Error!

  2. Program: ...Server\_int\_Server\debug\x64\linker\Server.exe

  3. HEAP CORRUPTION DETECTED: after Normal block (#48483) at 0x00000233BCD46310.
  4. CRT detected that the application wrote to memory after end of heap buffer.


  5. (Press Retry to debug the application)
复制代码

(, 下载次数: 58)





另外,反映个问题。
添加模块时,只要点了全选,即使一个一个的全点取消了,也无法点确定。



作者: urenai    时间: 2022-7-29 05:09
离开之后就没有在使用过该内存。

下面这个是重复释放内存地址的 错误提示,明显,我上面的错误跟这个不一样。
  1. Debug Assertion Failed!

  2. Program: ...Server\_int\_Server\debug\x64\linker\Server.exe
  3. File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp
  4. Line: 904

  5. Expression: _CrtIsValidHeapPointer(block)

  6. For information on how your program can cause an assertion
  7. failure, see the Visual C++ documentation on asserts.

  8. (Press Retry to debug the application)
复制代码













欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4