2009-08-18 2 views
0

고통스럽게도 기존 VS 6.0 MFC 응용 프로그램을 디버깅하고 있는데 MFC 코드를 단계별 실행하고 싶습니다. 이제 코드는 VS6로 배를했고, 기호 (mfc42.pdb)가 너무하지만, 디버거가 연결에Visual Studio 6.0에서 MFC 컴파일

'로드 기호 (제거 소스 정보)'

을 주장한다. these 팁으로, 내 컴퓨터에서 mfc42.pdb의 모든 복사본이 실제로 제거됩니다 (크기는 1.5M-2M, 10M 근처 아무데도 없습니다). 의미있는 스택을 얻을 수 있지만 MFC 코드에서 단계를 수행 할 수 없습니다.

현재 코드 뷰 기호를 얻기 위해 MFC를 다시 컴파일하려고합니다 (예 : 상황이 인데이 좋지 않음). 나는 다니엘 하워드 this 좋은 연습 다음했지만, 나는 다음과 같은 링커 오류 부딪히는 유지 : \ lib 디렉토리 \ mfc42.LIB ..

... delayimp.lib 을 라이브러리를 생성 및 .. \ lib 디렉토리 오브젝트 \ mfc42.exp mfc42.exp : 오류 LNK2001 : 확인할 수없는 외부 기호 "public : int __thiscall CTime :: operator == (클래스 CTime) const"(?? 8CTime @@ QBEHV0 @@ Z) mfc42.exp : 오류 LNK2001 : 해결되지 않은 외부 기호 "공용 : int __thiscall CTime :: operator! = (클래스 CTime) const"(9CTime @@ QBEHV0 @@ Z) mfc42.exp : 오류 LNK2001 : 확인되지 않은 외부 기호 "public : int __thiscall CTime : : 연산자 < (클래스 CTime) const "(?? MCTime @@ QBEHV0 @@ Z) mfc42.exp : 오류 LNK2001 : 확인할 수없는 외부 기호 "public : int __thiscall CTime :: operator> (클래스 CTime) const"(OCTime @@ QBEHV0 @@ Z) mfc42.DLL : 치명적인 오류 LNK1120 : 4 개의 확인되지 않은 외부

CTime은 TIMECORE.cpp에서 구현되었지만 실제로는 이러한 연산자를 구현하지 않습니다. 운영자 사용자를 찾을 수 없습니다.

누구든지 이에 대한 통찰력을 갖고 있습니까? 모든 간접 조언도 훌륭합니다.

답변

3

AFX.INL에서 VC98 \ MFC \ Include \ AFX.INL로 정의됩니다. 아마도 프로젝트에 .cpp 파일 만 추가했을 것입니다.

MFC 코드를 실행해야합니다. MFC 코드는 반드시 봐야합니다. 그것은 당신을 겸손하고 동시에 화나게합니다.

1

내 기억은 대개 상당히 나쁘고 오래 전 이었지만 디버깅을 위해 컴파일되고 링크 된 라이브러리 버전은 VC6 ++ 설치 프로그램의 추가 옵션 중 하나였습니다.

+0

감사합니다. Manni. VC6 ++는 실제로 MFC42d.dll 등을 제공합니다. 그게 무슨 뜻 이냐면 -하지만 생산 버전 인 MFC42.dll에 대해서는 전체 기호 (codeview)가 필요합니다. * 그 *를 설치하는 것을 기억하십니까? 귀하의 회신마다 다시 확인했습니다 - '소스 브라우저'라는 MFC 설치 구성 요소가있었습니다. 그것을 추가하는 것은 차이를 만드는 것처럼 보이지 않았고 주위에 인터넷 검색은 개체 브라우저/인텔리 센스 전신의 일종을 나타냅니다. –