본문 바로가기

Debug

클래스 소멸자 실행 시 포인터 멤버 변수 메모리 해제 오류

2019. 11. 17.

클래스 내 포인터 멤버 변수 정의시, 생성자와 소멸자에서 아래 처럼 메모리 할당 및 해제 관리를 해주어야 함

@class.h

class A
{
private:
    float *_buffer;
public:
    A();
    ~A();
}

@class.cpp
#include "class.h"

A::A()
{
    _buffer = new float;
}

A::~A()
{
    if(_buffer == nullptr) delet[] _buffer;
}

 

 

댓글

CLI/C++,C# 프로젝트에서 빌드 후 실행은 잘 되지만 C++ 코드에 디버깅 진입 안될 때

2019. 11. 15.

컴파일, 빌드, 실행 까지 문제없이 진행되기 때문에 원인파악이 매우 어려웠음

코드 상의 문제는 아닌것으로 파악되서 프로젝트 설정 정보를 예전에 릴리즈한 버전과 비교함

결과적으로 C# 프로젝트 설정 정보에서 아키텍처 설정이 변경되서 생긴 문제로 파악됨

 

아래 그림에서 확인할 수 있듯이,

예전 프로젝트 설정 정보는 프로세서 아키텍처가 "ADM64"로 설정되어 있었는데,

현재 프로젝트는 아키텍처 정보가 입력되어있지 않음.

 

그런데 현재 사용중인 PC의 CPU는 인텔 i7임.

따라서 문제의 원인이 아니고 우연히 고쳐졌을 경우도 있음. 

앞으로 더 지켜봐야함...

댓글

windows.h winsock2.h 의 충돌

2019. 8. 13.

windows.h winsock2.h 의 충돌

https://blog.naver.com/sbspace/130074815116

[출처] windows.h winsock2.h 의 충돌|작성자 에쑤비

 

댓글