C++ - _pFirstBlock == pHead 에러
실행 프로그램에서 공용 dll을 사용하는 경우 아래와 같은 에러가 발생할 때가 있다.
File: f:\dd\vctools\crt_bld\self_64_amd64\crt\src\dbgheap.c Line: 1424 Expression: _pFirstBlock == pHead
- 2중으로 free에서도 발생하는 에러로 dll 내부에서 free 한 것을 그 뒤에 다시 free 하면 이런 에러가 발생한다.
- dll 에서 할당한 메모리를 exe 측에서 free 하는 경우. 이 문제 해결 방법은 2가지
- static lib으로 바꾼다.
- 런타임을 Multi-threaded Debug DLL (/MDd)로 바꾼다.
이 글은 2020-08-21에 작성되었습니다.