2008-10-02 11 views
3

J'ai le problème, pour obtenir une vérification d'exécution a échoué dans Visual C++ 2008 à cause de la conversion d'un nombre trop grand en un type plus petit. L'échec est dans une DLL externe, donc je ne peux pas le réparer là. Alors, comment puis-je désactiver cette vérification du temps d'exécution pour un projet externe.Désactivation de la vérification de l'exécution dans Visual Studio

+0

Laquelle/quelle vérification de l'exécution? – KTC

+0

Débogueur a écrit: Échec de vérification d'exécution n ° 1 - Une conversion en un type de données plus petit a provoqué une perte de données. Si cela était intentionnel, vous devez masquer la source de la distribution avec le masque de bits approprié. Par exemple: \t char c = (i & 0xFF); –

Répondre

-1

Vous pouvez toujours désactiver la distribution pour une vérification de type plus petite dans les paramètres du projet. Si cela ne fonctionne pas car la vérification est compilée dans la DLL, vous pouvez essayer de créer un lien vers la version non-debug dll, car la vérification ne peut être activée que pour la version "optimisée" du débogage. Cela pourrait bien évidemment affecter votre débogage.

3

Si la distribution (et la vérification) est en cours dans cette DLL que vous ne pouvez pas recompiler, vous ne pouvez pas facilement désactiver la vérification. La seule chose que vous pourriez faire est de changer les données que vous passez à la DLL pour éviter le problème. Ou corrigez le binaire pour désactiver le contrôle, ce qui ne serait probablement pas terriblement difficile car ce genre de chose va - êtes-vous bon avec un désassembleur?