2012-10-04 1 views
5

현재 SharpDX (관리되는 C# directx 래퍼)를 사용하여 Windows 8 응용 프로그램을 만드는 중입니다. 그러나 나는 쉐이더 중 하나에 문제가 생겨서 그런 어플리케이션을 디버깅 할 수 있는지 알고 싶다. 실행 파일이 직접 열기를 좋아하지 않으므로 PIX는 directX 응용 프로그램에서 작동하지 않는 것으로 보이며 VS2012의 새로운 Visual Studio 그래픽 디버깅 도구 키트는 세션에 대한 정보를 캡처하려고 할 때 항상 "실험을 시작할 수 없습니다"라고 말합니다.Windows 8 응용 프로그램 용 HLSL 디버깅

감사합니다.

+0

"Windows 8 응용 프로그램"의 의미를 분명히 할 수 있습니까? 이것은 시작 화면을위한 Windows 8 스타일 앱입니까, 아니면 Windows 8에있는 일반 데스크톱 응용 프로그램입니까? IIRC, DXSDK PixWin은 DXSDK 헤더와 libs로 빌드해야하며, VSPIX (IDE의 그래픽 디버깅)은 Windows 8 키트 헤더와 libs를 사용해야합니다. –

+0

죄송합니다. 시작 화면의 Windows 8 스타일 앱을 의미합니다. Windows 8 키트 헤더는 무엇입니까? Windows 네임 스페이스 (예 : Windows 사용)에있는 것만을 의미합니까? 그렇다면 이미 포함 시켰습니다. – Shervanator

답변

0

DirectX Visual Studio 디버거는 원시 코드에서만 작동합니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 디버깅 탭으로 이동하여 기본 디버깅을 사용하도록 설정할 때까지 오류가 발생합니다.

오류가 제거되는 동안 문제가 해결 될 수도 있고 해결되지 않을 수도 있습니다. C++ 프로젝트의 DirectXPage와 관리되는 구성 요소에서 호스팅되는 SurfaceImageSource (C++)를 사용하는 비슷한 시나리오가 있습니다. 두 프로젝트에서 DirectX 디버깅이 프레임을 캡처하지 못하는 것 같습니다. 이 기능은 DirectX UI (관리되는 UI 구성 요소 없음)를 사용하는 프로그램에서만 작동합니다.

2

이 게시물에 조금 늦게 왔지만, SlimDX 및 Visual Studio 2012에서 Visual Studio 2012 그래픽 진단 ('the DirectX Debugger')을 성공적으로 사용한이 스레드의 향후 방문자를 추가하고 싶습니다. SharpDX 프로젝트. SlimDX 프로젝트에서 DX10/11이 섞여있는 응용 프로그램을 디버깅 할 수 없었고, DX10이 VS2012에서 작동하지 않는 것으로 나타났습니다. 적어도 관리되는 코드에는 문제가있었습니다. 예를 들어 텍스트 렌더링이 있다면 디버깅 세션을 위해 텍스트를 제거해야합니다. 나는 당신의 DX10 코드가

#define DXDIAGSESSION 
    // ... 
#if DXDIAGSESSION 
    // your DX10 code goes here. 
#endif 

그리고 SharpDX 프로젝트

(C 번호는/WinRT/XAML/SharpDX) 내가 관리 만 디버거를 사용할 수없는 작업을해야 분리하려면 다음을 사용하여 말하고 싶지만. Debugger를 Mixed (Managed and Native)로 설정하여 작동되도록했습니다.

+0

재미있는, 내게는 그래픽 디버거가 잘 작동하는 네이티브 디버거를 사용하여 SharpDX 프로젝트입니다. –