2013-12-11 3 views
0

gcc로 컴파일 된 DLL 프로젝트 (fortran, C++로 작성)가 있습니다. 이 DLL을 디버그하고 싶지만 Windows에서 실행중인 프로세스에 연결해야합니다 (Visual Studio에서 컴파일 됨). Visual Studio에서 DLL 소스에 중단 점을 삽입 할 수 없습니다. 제발 도와 줄 수 있습니까?VS에서 gcc로 컴파일 된 프로젝트를 디버깅하는 방법은 무엇입니까?

감사합니다.

+4

수 없습니다. 우선 GCC에 의해 생성 된 디버그 정보 형식은 Visual Studio에서 사용되는 것과 다릅니다. 계속 진행하기 위해 Visual Studio는 Fortran이 무엇인지 알지 못하기 때문에 소스를 사용할 수 없으므로 디버그 정보와 관련하여 아무 것도 쓸 수 없습니다. –

답변

0

Visual Studio 및 실제 디버거에 중단 점을 설정하려면 소스 코드를 실행 코드의 주소 범위에 매핑하는 방법을 찾아야합니다. Visual Studio에서는 PDB 형식을 사용하여 이러한 유형의 매핑을 만듭니다. 이 파일은 Visual Studio의 모든 언어를 빌드하는 동안 생성됩니다. GCC는하지만이 파일을 생성하지 않으며, 따라서 정말 비주얼 스튜디오가 생성 된 실행 당신은 그것과는 별도로 http://www.wingdb.com/

을 시도 할 수

0

, 가장 쉬운 방법으로 의미있는 값으로 파일의 소스 라인을 매핑하는 방법이 없습니다 원본을 가지고 있기 때문에 Visual Studio를 사용하여 코드를 다시 작성해야합니다. 당신은 한 달 평가에 대한 IVF를 얻을 수 있으며 DLL 및 PDB 파일을 생성하는 데 사용합니다. 그것이 작동하고 IVF가 마음에 들면 상사에게 사본을 요청하십시오.

또 다른 대안은 Linux 환경에서 ddd를 사용하는 것입니다. Windows 컴퓨터에서 Linux VM을 만들고 Linux 용으로 모든 것을 다시 빌드하고 ddd를 얻으십시오.

관련 문제