Sécurité
Remonter à Compilateur C++
Projet > Options > Construction > Compilateur C++ > Sécurité
Utilisez cette boîte de dialogue pour définir les paramètres de sécurité du compilateur C++, qui permettent d’activer et d’améliorer la sécurité et la qualité du code source et de l’application.
| Options | Description |
|---|---|
|
Cible, Appliquer, Enregistrer |
Voir Options de la cible. |
|
Eléments communs |
Options de sécurité
Les sanitizers ajoutent une vérification lors de l'exécution de votre application. Elle permet d'améliorer l'exactitude du code et sa sécurité.
Utilisation du Address Sanitizer
Lorsque vous construisez une application en ayant activé le Address Sanitizer, l'application doit être exécutée en dehors de l'EDI. L'exécution depuis une invite de commande est fortement recommandée pour éviter l'obtention d'erreurs AV.
Lorsque l'application est exécutée depuis l'EDI, le débogueur capture les violations d'accès en relation avec l'activité de l'Adress Sanitizer. Un processus s'exécute jusqu'à ce que le Sanitizer trouve une erreur. A ce moment, l'erreur apparaît sur la console et le processus s'arrête (Il est possible de poursuivre l’exécution après ces messages, mais il faut faire attention, car ils semblent indiquer des erreurs). Ces messages restent affichés à l'écran lorsque l'exécution s'effectue depuis une fenêtre de commande.
Par défaut, les apps avec interface utilisateur (VCL ou FMX) ne sont pas associées à une console pour la sortie des erreurs standard. Ainsi, si un utilisateur exécute directement l'app,
> myapp.exe
aucune erreur n'est renvoyée, et l'exécution de l'app s'arrête. Pour éviter ce problème, configurez l'app de façon à ce qu'elle utilise une console ou dirige la sortie vers un fichier log (ce qui crée la sortie stderr) comme suit :
myapp 2> asanlog.txt.
ou
myapp > asanlog.txt 2>&1
La commande ci-dessus redirige à la fois stderr et stdout vers le fichier log.