Détecter les exceptions
La vue Shader Exceptions affiche un panneau Detect Exceptions. Ce panneau présente les types d’exceptions pris en charge parmi lesquels vous pouvez choisir. Tous les types d’exceptions sont sélectionnés par défaut. Le panneau affiche aussi la liste des étapes de nuanceur à prendre en compte pour la détection des exceptions. Toutes les étapes de nuanceur sont sélectionnées par défaut. Notez que l’analyse pixie est requise pour détecter les exceptions de nuanceur. Après avoir sélectionné les exceptions et les étapes de nuanceur souhaitées, appuyez sur le bouton Detect pour générer le rapport récapitulatif des exceptions.
Rapport récapitulatif des exceptions
Le rapport récapitulatif des exceptions affiche des entrées pour toutes les exceptions sélectionnées qui ont été déclenchées. Chaque entrée du journal d’exceptions indique l’adresse de l’instruction du nuanceur (PC), la liste des exceptions et le nombre d’occurrences. Notez que le PC pointe vers l’instruction qui suit celle qui lève une exception. Un nom de fonction est aussi affiché pour les nuanceurs de lancer de rayons. Le nom du fichier HLSL, la signature de la fonction et le numéro de ligne HLSL correspondant au PC sont affichés si les PDB sont résolus et si les mappages de lignes sont disponibles. Ces entrées d’exception sont affichées par étape de nuanceur sélectionnée et par Global ID. Un bouton Open in Debugger est présent pour chaque entrée du journal d’exceptions afin que vous puissiez déboguer le nuanceur et observer les exceptions en action.

Déboguer un nuanceur qui lève des exceptions
Les exceptions de nuanceur peuvent être étudiées en déboguant le nuanceur dans PIX. Pour ce faire, appuyez sur la flèche verte à côté du nuanceur à étudier. Le nuanceur s’ouvre alors dans le débogueur avec les exceptions démasquées. Vous pouvez déboguer le nuanceur de la même façon que dans un scénario sans exception, mais une notification concernant les exceptions déclenchées s’affiche lorsque le PC atteint l’instruction mentionnée dans l’entrée du journal. Le bouton « Run to Exception » permet d’accéder rapidement à la ligne qui déclenche les exceptions. Notez qu’il s’arrête à l’instruction qui suit celle qui lève une exception. Les bits d’exception du registre trapsts peuvent aussi être inspectés pour vérifier les exceptions déclenchées. Le retour en arrière pas à pas permet de trouver la source de l’exception. Notez que les exceptions ne sont démasquées que si la session de débogage a été lancée depuis la vue Shader Exceptions.Le comportement numérique des nuanceurs est différent lorsque les exceptions numériques sont démasquées.
