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