Comment désactiver le débordement de la mémoire tampon de vérification de l'Exécution Visual C++?

j', et un quelques milliers d'autres personnes, obtenez une erreur est générée par le Microsoft Visual C++ Runtime:

le texte d'alt http://i46.tinypic.com/2enceus.png

Qui, pour le bénéfice des moteurs de recherche, dit:

Microsoft Visual C++ Runtime Library

Buffer overrun detected!

Program: %s

A buffer overrun has been detected which has corrupted the program's
internal state. The program cannot safely continue execution and must
now be terminated.

Je comprends maintenant ce qu'est un dépassement de la mémoire tampon, et pourquoi c'est une mauvaise chose. Compte tenu de Microsoft, à nouveau l'accent sur le "c'est juste cassé", le tampon supplémentaire vérifie dans MSVCRT peut être une bonne chose.

D'autre part, je n'ai pas de soins. Ce n'est pas que le programme ne peut pas continuer, c'est que le programme ne peut pas en toute sécurité continuer. Eh bien, je préfère être dangereux, parce que c'est mieux que rien. j'aime vivre dangereusement.

Si quelqu'un peut suggérer quelque chose? je pensais à des choses comme:

  • une clé de registre pour empêcher MSVCRT de l'arrêt de l'exécution
  • l'exécution de l'application en comptabilité avec un système d'exploitation précédent (version antérieure à Windows 7)
  • l'ajout d'un manifeste d'assembly pour le dossier exécutable de sorte qu'il utilise une ancienne version de la MSVCRT, celui qui ne pas effectuer cette vérification de dépassement
  • un numéro de version, ou un emplacement de téléchargement, d'une copie de MSVCRT qui n'ont pas la vérification de dépassement

j'ai essayé de chercher le site de support de la société qui a écrit le Microsoft Visual C++ Runtime Library, mais ils n'ont pas de mention de fonctions qui pourraient être débordant, ou comment désactiver la vérification de dépassement.

OriginalL'auteur Ian Boyd | 2009-11-18