2010-01-19 2 views
1

VC++ 6으로 빌드 된 이전 DLL 파일이 있습니다. 이제 덤프 파일을 조사해야하지만 PDB를 사용할 수 없습니다. WinDbg에 의해보고 된 stacktrace 또한 정확하지 않습니다.다른 버전의 Visual Studio PDB 파일

Visual Studio의 최신 버전 (예 : 2003, 2005, 2008)으로 프로젝트를 다시 작성하고 PDB를 생성 한 다음이 주소를 사용하여 이전 DLL의 기호에 주소를 매핑 할 수 있습니까? VC 6.0 호환 모드와 같은 프로젝트가 있습니까?

취득 VC++ 6은 하나 개의 옵션이지만, VS6.0 이미 MSDN 구독자 다운로드 페이지에서 사라진 것 같습니다 :(

감사

+0

두 컴파일러가 동일한 컴파일러를 사용하여 동일한 PDB를 생성하는지 여부조차 모르겠습니다. – MSalters

+0

@MSalters : 그렇지 않습니다. 그러나 IDE는 PDB를 읽을 수 있습니다. –

+0

같은 컴파일러의 PDB가 타임 스탬프 만 다른지 확실하지 않은 경우? 동료가 동일한 컴파일러에서 새로 만든 PDB 파일로 올바른 스택 추적을 얻을 수 있었기 때문에. 어쨌든 고맙습니다.} – Gant

답변

1

내가 생각 두려워 대답은 '아니오! 당신 당신이 가진 덤프 파일을 생성 한 바이너리와 똑같은 툴 체인을 사용하여 똑같은 툴 체인으로 다시 시도해보아야합니다.

VS는 내 경험상 덤프 파일과 pdb 파일을 비교하는 방법에 대해 정말 까다 롭습니다. 나는 이런 상황에서 WinDbg를 사용 해본 적이있다. (그러나 당신은 그것을 시도했다.)/

+0

고마워요! 나는 또한 VS2003 오늘 프로젝트를 재건하고 다른 호환성 문제 (구식 헤더를 발견했다.) 어쨌든 어떻게 든 VS6.0 얻을 사용해야 할 것 같습니다 : '( – Gant