F12를 통한 MFC 내부소스 추적기능 차이 VS2013 vs VS2015

F12를 통한 MFC 내부소스 추적기능 차이 VS2013 vs VS2015

MFC 소스는 친절하게도, Visual Studio와 함께 제공됩니다. Visual Studio가 설치된 곳을 살펴보면, 아래 경로에서 소스를 찾을 수 있습니다.

Visual Studio 2013의 경우
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc

Visual Studio 2015의 경우
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc

하지만 Visual Studio에서 코드를 추적하는 것에서 차이가 있네요.

CEdit myEdit = CEdit();
myEdit.SetSel(0, 10);

위와 같은 코드가 있다고 가정했을 때, SetSel에 커서 위치를 가져다 놓고 F12[1]를 누르면,

Visual Studio 2013에서는 겨우 헤더파일(*.h)까지만 찾아가 줍니다.
Visual Studio 2015에서는 inline 소스파일까지 찾아가서 표시해 줍니다.
그래서 아래와 같은 코드를 볼 수 있습니다.

// afxwin2.inl
_AFXWIN_INLINE void CEdit::SetSel(int nStartChar, int nEndChar, BOOL bNoScroll)
	{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, EM_SETSEL, nStartChar, nEndChar);
	  if (!bNoScroll)
		::SendMessage(m_hWnd, EM_SCROLLCARET, 0, 0); }

제가 정말 오랜만에 MFC 업무를 하게 되어, 개발을 좀 하다가보니 MFC 내부소스를 들여다 봐야할 필요성이 생겨서, 어떻게 볼 수 있는지 제니퍼소프트의 정성태 MVP님께 문의했다가 알게 된 내용입니다.

널리 나누고 싶어 포스트로 남깁니다.

정성태 MVP님 감사합니다.

Go To Definition의 단축키. F12 ↩︎