문제

DLL에서 기능을 호출하는 VB 프로젝트가 있습니다. DLL은 별도의 VS 프로젝트 (Portaudio)로 만들어졌으며 c.

DLL C 프로젝트는 깨끗하게 컴파일하고 필요한 DLL을 빌드합니다. 현재 C : Windows System에서 VB 런타임으로 삭제하고있는 필수 DLL이 있습니다.

VB 프로젝트는 c : devprojects vbtest에 거주합니다.

C 프로젝트는 c : devprojects portaudio에 C : devprojects portaudio build msvc에 있습니다. DLL 은이 MSVC 디렉토리 아래 Win32 Debug에서 생성되었습니다.

DLL 기능을 호출 할 때 VS 디버거가 DLL에서 C 함수를 밟을 수 있습니다. 모든 코드 등이 있지만 VS2005가 이러한 종류의 혼합 언어 디버깅을 지원하는지 모르겠습니다.

이것이 가능하다면,이를 달성하기 위해 내 비주얼 스튜디오를 설정 해야하는 방법을 알려주시겠습니까?

많은 감사합니다 David

도움이 되었습니까?

해결책

동일한 솔루션에 두 프로젝트를 모두 가질 필요는 없지만 디버그 기호가 활성화 된 두 프로젝트를 모두 컴파일해야합니다.

이제 VB Net Solution Project/Properties에서 디버그 탭의 "관리되지 않는 코드 디버깅 활성화"가 확인되었는지 확인하십시오.

또한로드 된 DLL이 컴파일 된 곳과 동일한 장소에 있는지 확인하십시오. 그렇지 않으면 디버그 기호가 저장되는 PDB를 찾지 못할 수도 있습니다.

다른 팁

두 프로젝트 모두 솔루션을 만들고 '참조 추가'를 사용하여 C 프로젝트에 VB 프로젝트에 참조를 추가하십시오. 대화 -> 프로젝트를 사용하여 디버그 모드에서 모두 빌드하십시오.

VB에서 C DLL을 어떻게 호출합니까?

VB.net이 매우 쉬운 경우 매우 쉬운 경우 두 프로젝트에 대한 솔루션을 설정하고 종속성을 설정하고 C ++ 프로젝트에서 생성 된 디버그 LIB/DLL에 대한 VB 프로젝트 링크의 디버그 버전을 구축해야합니다. . Visual Studio는 나머지를 수행합니다.

C# 응용 프로그램이 C ++ DLL을 호출 한 C# 응용 프로그램으로 몇 번 전에이 작업을 수행했습니다. 나는 이것을 설정하려고하지 않았지만 어셈블리 목록을 얻을 것이라고 가정하고 디버깅을하면서 적어도 내 코드에 문제가있는 일을 해결할 수 있다고 생각했지만 올바른 .CPP 파일과로드했습니다. 그 코드를 계속 진행할 수있었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top