본문 바로가기
IDE + Tools + OS

visual studio 디버깅, 개념

by chaloalto 2018. 4. 30.

프로젝트란?

하나의 실행 파일(exe)을 만들어 내기 위해서 필요한 여러 개의 소스 파일과 헤더 파일 등을 하나로 묶어 놓은 것을 말한다.

프로젝트 파일 : 프로젝트이름. vcproj


솔루션이란 ?

여러 개의 프로젝트가 모임이며, 응용 프로그램마다 하나가 존재하며 프로젝트를 생성하는 과정에서 프로젝트와 동일한 이름으로 자동 생성된다.

솔루션 파일 : 솔루션 이름.sln


솔루션 탐색기 : 소스파일등의 물리적인 파일 관계를 보여주는 것.

클래스뷰 : 논리적인 클래스 관계를 부여주는 것.

 - 각 클래스의 멤버 변수와 함수들을 일목요연하게 볼 수 있음

 - 마우스 더블 클릭으로 멤버 변수의 선언된 위치나 함수가 정의된 위치를 손쉽게 찾아 갈 수 있음



출처: http://luyin.tistory.com/193 [Luyin]

 

 

배열값 확인

간혹 매우 큰 크기의 배열을 사용할때가 있습니다. 대략 1만개라고 해보죠. 이 배열 내부의 값을 확인하려면 어떨까요? 1만개의 배열을 일일히 확인하려면 엄청나게 스크롤링을 해야 할 것 입니다.



이럴때 범위식을 사용하여 특정 구간의 값만을 확인하는 방법이 있습니다. 배열명, 범위 식으로 조사식 창에 입력하여주면 그 범위 만큼의 배열만 보여주는 것이죠. 또한 포인터 연산을 통해서 특정 범위 부터의 값도 확인할 수 있습니다.




 

값이 변경 되는 위치 찾기

디버깅을 하다보면 특정 변수가 어디서 값이 변경 되는 지를 알고 싶을 때가 있습니다. 변수를 사용하는 곳을 전부 검색하여 중단점을 걸어서 볼수도 있지만 데이터 중단점 기능을 이용하면 값을 변경 하는 곳을 손쉽게 찾을 수 있습니다.


먼저 추적 하고 싶은 데이터의 주소를 파악합니다.



그 다음 비쥬얼 스튜디오의 디버그 -> 새 중단점 -> 새 데이터 중단점을 선택합니다. 여기에 위의 데이터 주소 값을 입력 해줍니다. 타입의 크기 값에 주의 합니다.



중단점을 추가 한 후, F5를 눌러 실행을 재개합니다. 그러면 어디선가 해당 데이터가 값이 변경 되면 아래와 같이 중단점이 작동하게 됩니다.



위의 예제에서는 SexyUp 함수에서 해당 데이터를 변경하는 것을 알아냈습니다.


출처 및 참고

Code Project Article - 10 Even More Visual Studio Debugging Tips for Native Development

Code Project Article - 10 More Visual Studio Debugging Tips for Native Development



출처: http://kindtis.tistory.com/518 [Game Programmer Life]

 

'IDE + Tools + OS' 카테고리의 다른 글

[VS Code] sys.argv Terminal Parameter 가 있을 때 디버깅 방법  (0) 2022.01.10
코드 편집 단축키  (0) 2021.06.02
nano 사용  (0) 2018.04.30
Visual Studio 단축키 관련  (0) 2018.03.14