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 ↩︎