2010-06-28 8 views
2

Dans Visual Studio, il existe un paramètre de débogueur intitulé "Break on exceptions" ou quelque chose comme ça. Il tombe dans le débogueur chaque fois qu'une exception est levée (c'est-à-dire sur le premier passage des mécanismes d'exception à deux passes), que l'exception soit traitée ou non.SharpDevelop équivalent de "Break on exceptions" de Visual Studio

Ceci est une fonctionnalité très utile, et j'essaie de la garder tout le temps en cours d'exécution dans le débogueur car je préfère ne jamais avoir d'exception soulevée.

Je ne trouve pas de paramètre équivalent dans SharpDevelop. Une idée de savoir si c'est là, et si non, pourquoi pas?

+0

Si vous utilisez .NET puis votre objectif ** de ne jamais avoir des exceptions soulevées ** n'est pas vraiment possible. Microsoft a choisi d'utiliser la gestion des exceptions comme méthode de contrôle de flux de code. VS vous permet de définir l'exception 'break on thrown' sur la base de la classe Exception. SD v4 ne dispose que d'une option générale pour faire une pause sur TOUTES les exceptions, pas seulement celles qui vous intéressent. Pourtant, c'est mieux que rien. :) –

Répondre

3

Dans SD v4, ils ont ajouté "Pause sur Exception gérée", une case à cocher dans la boîte de dialogue "Outils/Options", dans la section "Mise au point/Général".

SD v4 - Tools/Options/Debugging

Cela vous aidera à atteindre votre objectif de jamais des exceptions soulevées. (tant que .NET ne choisit pas d'utiliser la gestion des exceptions comme une forme de code de contrôle de flux.)

MISE À JOUR: Dans v5 SD, ils ont ajouté la possibilité de choisir les exceptions à attraper lors de la levée, si manipulé ou pas.

SD v5 - Tools/Options/Debugging

Et vous pouvez entrer le nom de classe de l'exception spécifique que vous êtes intéressé à attraper. À tout moment, vous pouvez revenir et décocher l'entrée si vous n'êtes plus intéressé par ce type d'exception.

enter image description here

2

Hmm. Je suppose que non:

http://bugtracker.sharpdevelop.net/issue/ViewIssue.aspx?id=1511&PROJID=4

encore, je me demande s'il y a une bonne raison pour que ce n'est pas là-dedans. Est-ce difficile à mettre en œuvre?

Cette fonctionnalité a été ajoutée dans SharpDevelop 4.0. Voir Jesse's answer.

+0

Pas du tout. Eh bien au moins ne pas utiliser mdbg comme un backend. – leppie

+0

@DrewNoakes - Malheureusement, le lien vous amène maintenant au sommet "Problèmes". Ils doivent avoir réorganisé la base de données. Pouvez-vous trouver le nouveau lien? Le problème a-t-il été résolu au cours des 5 dernières années? –

+0

@DrewNoakes - Je vois que dans SD v4 il y a 'Tools/Options/Debugging/Pause on Exception gérée 'qui est la résolution du rapport de bogue perdu. –