2012-10-04 7 views
5

Ich bin gerade dabei, eine Windows 8-Anwendung mit SharpDX (der verwalteten C# DirectX-Wrapper) zu erstellen. Ich habe jedoch Probleme mit einem meiner Shader erfahren und möchte wissen, ob es möglich ist, solche Anwendungen zu debuggen. PIX scheint nicht von directX-Anwendungen zu funktionieren, da die ausführbare Datei nicht direkt geöffnet werden kann. Das neue Debugging-Toolkit für Visual Studio-Grafiken in VS2012 gibt immer an, dass der Test nicht gestartet werden kann, wenn ich Informationen über meine Sitzung erfassen möchte.Debuggen HLSL für Windows 8 Anwendung

Danke!

+0

Können Sie klarstellen, was Sie unter "Windows 8-Anwendung" verstehen? Ist dies eine Windows 8 Style-App für den Startbildschirm oder eine normale Desktop-Anwendung, die sich unter Windows 8 befindet? IIRC, das DXSDK PixWin erfordert, dass Dinge mit den DXSDK-Headern und -Bibliotheken erstellt werden, während VSPIX (Grafik-Debugging in IDE) die Verwendung der Header und Bibliotheken von Windows 8 Kits erfordert. –

+0

Sorry ich meinte Windows 8 Style App für den Startbildschirm, was sind die Windows 8 Kits Header? Meinst du nur die Sachen im Windows Namespace (d. H. Mit Windows;)? Wenn ja, habe ich sie schon dabei. – Shervanator

Antwort

0

Der DirectX Visual Studio-Debugger funktioniert nur mit systemeigenem Code. Sie erhalten den Fehler, der Sie haben, bis Sie mit der rechten Maustaste auf das Projekt klicken, "Eigenschaften" auswählen, zur Registerkarte Debuggen gehen und natives Debuggen aktivieren.

Während das den Fehler entfernt, kann es oder möglicherweise das Problem nicht beheben. Ich habe ein ähnliches Szenario, bei dem SurfaceImageSource (C++) in einer verwalteten Komponente und eine DirectXPage in einem C++ - Projekt gehostet wird. In beiden Projekten scheint DirectX-Debugging Frames nicht zu erfassen. Diese Funktion scheint nur für Programme zu funktionieren, die eine DirectX-Benutzeroberfläche verwenden (keine verwalteten UI-Komponenten).

2

Ich komme zu diesem Beitrag ein bisschen spät, aber ich möchte nur für zukünftige Besucher dieses Threads hinzufügen, die ich Visual Studio 2012 Graphics Diagnostics ('der DirectX Debugger') in SlimDX und SharpDX-Projekte. Es gibt ein paar Dinge, die den Prozess stören können, insbesondere in SlimDX-Projekten konnte ich keine Apps mit gemischtem DX10/11 debuggen, DX10 scheint nicht mit VS2012 zu funktionieren, zumindest für verwalteten Code. Wenn Sie beispielsweise Text rendern möchten, müssen Sie es für die Debugging-Sitzung entfernen. Ich würde sagen, die folgenden mit Ihrem DX10 Code zu isolieren, sollte

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

Arbeit und für das SharpDX Projekt (C#/WinRT/XAML/SharpDX) ich nicht die Weise nur Debugger nutzen könnten. Ich musste den Debugger auf Mixed (Managed und Native) setzen, damit es funktioniert.

+0

Interessant, für mich funktioniert der Grafik-Debugger gut im SharpDX-Projekt mit nativem Debugger deaktiviert. –

Verwandte Themen