2010-03-18 2 views
1

내 DirectShow 소스 필터를 디버그하려고합니다. Windows XP에서 DSPACK 컴포넌트 라이브러리와 함께 Delphi Pro 6을 사용하고 있습니다. 내 소스 필터 DLL (도끼 파일 확장자)을 테스트하기 위해 실행 메뉴의 매개 변수 옵션에서 설정 한 내 호스트 응용 프로그램으로 Skype를 사용하고 있습니다. Skype가 정상적으로 실행되고 이벤트 뷰어에 내 OutputDebugString 메시지 스트림이 표시되지만 내 중단 점 중 하나도 충돌하지 않습니다. 내 프로젝트 설정에서 최적화, 프레임 온, DCU 디버깅, 범위 검사 및 오버플로 검사를 수행합니다. 때마다 내가 테스트 내 코드를 수정하고 실행Delphi 6에서 작동하지 않는 중단 점 DirectShow 소스 필터

  • 전체 빌드
  • 등록 취소에게 DirectShow 필터를 수행을 (에 regsvr32/U)로
  • (에 regsvr32)을 DirectShow 필터를 등록
  • 실행 스카이프 IDE의 내 호스트 응용 프로그램

예외가 발생하면 IDE가 해당 호스트를 트랩하고 오류 대화 상자를 열고 CPU 창에서 어셈블러 코드를 볼 수있는 옵션을 표시합니다. 그러나 내 브레이크 포인트 중 아무도 맞고있다. 누구든지 중단 점을 작동시키는 방법을 말해 줄 수 있습니까?

감사합니다.

+0

파란색 점이 소스 코드 줄과 올바르게 정렬되어 있는지 확인하십시오. 델파이 컴파일러는 때때로 (적어도 나를 위해) 그것을 엉망으로 만든다. 이 경우 모든 것이 몇 줄 이동됩니다. – jpfollenius

+0

파란색 점이 있는지 확인하십시오. 그렇지 않으면 디버그 정보가 없습니다. –

답변

2

Mason Wheeler에 표시된 디버그 옵션과 함께 전체 맵 파일을 사용하십시오. 검색 경로에 오래된 DCU 및 BPL이 없는지 확인하십시오. 또한 EurekaLog 또는 MadExcept 사용을 고려해보십시오. 평가판 버전이라도 폭발 할 때 작동되는 것을 보여줄 수 있어야합니다.

2

프로젝트 옵션이나 코드 어딘가 또는 포함 파일의 $ D- 스위치로 디버그 정보를 사용하지 않는 것처럼 들리 네. 디버그 정보를 사용할 수 있는지 확인하십시오.