2011-09-09 7 views
2

나는 인텔 C++ 컴파일러 (버전 12, 나는 경의를 표한다)를 사용하여 컴파일 된 C++ 라이브러리를 호출하는 C#/NUnit 테스트를 가지고있다. 나는 PDB를 가지고 있고, 'Just My Code'는 비활성화되어 있으며 Unmanaged Code Debugging이 가능하다. 여전히 일반적인 디버깅은 작동하지 않습니다. 소스 및 제공 요청이 없으므로 문제가 발생하지 않습니다.어떻게 관리 코드에서 인텔 C++ 라이브러리로 디버깅 할 수 있습니까?

추가 : 저는이 작업을하는 동안 끊임없이 VS2010 충돌을 경험하고 있습니다.

누구나이 문제가 발생했는지 궁금합니다.

+0

에서 무료로 사용할 수 있습니다. – JaredPar

+0

Visual Studio를 사용하여 –

답변

1

PDB 파일은 어셈블리를로드 할 때와 동일한 디렉터리에 있어야합니다. NUnit은 테스트 dll을 temp 디렉토리에 복사하고 거기에서로드합니다. PDB를 복사 했습니까?

확인할 방법 중 하나는 ProcMon (모든 파일 액세스를 표시 할 수 있음)을 사용하고 PDB 파일을 필터링하여로드하려는 위치를 확인하는 것입니다. ProcMon은 Visual Studio 나 다른 디버거를 사용하여 MS :

http://technet.microsoft.com/en-us/sysinternals/bb896645
+0

예, PDB가 있습니다. –

+0

Nunit의 임시 디렉토리에 있습니까? –

+0

아니요, PDB는 다른 테스트 어셈블리와 함께 저장됩니다. –

0

마법의 해결 방법은 없습니다. 소스 레벨에서 코드를 단계별로 실행하려면 소스 코드가 필요합니다.

어셈블리 코드를 단계별로 실행할 수는 있지만 ASM 능숙도에 따라 그다지 도움이되지 않을 수 있습니다. ;)

소스 코드에 액세스 할 수 없다면 코드를 디버깅하여 가능한 한 최선을 다해야합니다.

+0

소스 코드가 있습니다. –

+0

아. 자동으로 PDB와 소스를 찾을 수없는 경우 디버거에 옵션이 표시되지 않습니까? – jalf

+0

'소스 찾기'옵션이 비활성화되어 있습니다. –

관련 문제