2009-09-20 2 views
2

델파이에서 디버깅 할 때 스택 트레이스에 시스템 라이브러리가있을 때 라이브러리의 이름과 호출 할 함수가 있습니다. 불행히도 이것은 다른 외부 DLL에는 적용되지 않는 것처럼 보입니다. 저는 Visual C++ 2005에서 컴파일 된 것을 가지고 있습니다. 그리고 언제든지 문제를 일으킬 수 있습니다. VS 디버거를 부착하고 원래의 입구 포인트에서 코드를 따라 트레이싱을 시작해야합니다. Delphi가 나에게 어떤 단서를주지 못하기 때문입니다. 실제로 일어나고 있습니다.Delphi가 다른 디버그 형식을 읽을 수있는 방법이 있습니까?

이 DLL은 VS의 디버그 정보로 컴파일되었지만, 분명히 델파이는 그것을 읽을 방법이 없습니다. 디버깅 옵션을 바꾸는 방법이 있습니까? 그렇기 때문에 시스템 라이브러리에서 할 수있는 것과 동일한 의미의 함수 이름을 스택 추적에서 얻을 수 있습니까?

답변

2

델파이와 마이크로 소프트는 각각 자신의 종류의 디버그 정보를 사용하며 둘 다 다른 종류의 것을 사용할 수 없습니다.

이 두 페이지는 변환에 가야 있습니다

하지만 난 그냥 불 것 비주얼 C++ 2005 C++ 부분을 디버깅하십시오. 즉, 스택 오버플로 질문에있는 솔루션의 반대쪽 How to debug a DLL file in Delphi입니다.

+3

델파이의 .map 형식은 http://stackoverflow.com/questions/1237988/how-to-analyze-dump-file-from-delphi-dll에 언급 된 도구를 사용하여 Microsoft의 .pdb 형식으로 변환 할 수 있습니다. –

+0

+1 ; 이 팁 주셔서 감사합니다! –