Microsoft active par défaut Edit and Continue dans la RTM de Visual Studio 2015
Pour le développement de vos applications C++

Le , par Stéphane le calme

4PARTAGES

2  0 
Microsoft a annoncé la disponibilité de la fonctionnalité ‘Edit and Continue’ (EnC) qui sera activée par défaut dans la version RTM de Visual Studio 2015 pour le développement de vos applications en C++. Pour rappel, EnC vous permet d’effectuer des modifications dans votre code lorsque vous êtes arrêté dans le débogueur, et de voir ces changements être appliqués une fois que vous continuez l’exécution sans pour autant avoir besoin d’arrêter le débogueur, recompiler et exécuter l’application.

Notons que si vous avez mis à jour Visual Studio 2015 (par exemple si vous êtes passé de la version RC à la version RTM), cette fonctionnalité ne sera pas activée par défaut. Vous aurez alors quelques paramètres à vérifier afin que ce soit le cas :

  • Assurez-vous que le Debug Information Format soit réglé sur « Program Database for Edit and Continue (/ZI) » : si cette option n’est pas réglée correctement, le débogueur ne va pas prendre la modification en considération. Vous continuerez alors à modifier vos fichiers sans avoir activé la fonctionnalité EnC.


    Si vous effectuez une modification dans un binaire non compilé avec cette option, le débogueur va ignorer la modification et vous verrez un message d'erreur lorsque vous continuerez l’exécution vous indiquant que le fichier source a changé et qu'il ne correspond plus à la version du fichier utilisé pour construire l'application en cours de débogage.
  • Enable Incremental Linking doit être réglé sur « Yes (/INCREMENTAL) »


    Si cette fonctionnalité n’est pas paramétrée correctement et que vous essayez de faire une modification pendant le débogage, vous verrez un message d’erreur relative à Edit and Continue qui vous signalera l’échec d’une correspondance mémoire pour la modification sur le processus de débogage.
  • Enable Edit and Continue doit être activé dans Debug -> Options : si cette fonctionnalité doit être activée par défaut dans Virtual Studio 2015 RTM, il faudrait penser à vérifier tout de même dans le cas où Edit and Continue ne fonctionne pas.



Une fois que ces trois vérifications sont faites, vous devriez être en mesure d’utiliser Edit and Continue pour vos projets x86 ou x64. Microsoft donne quand même une série de limitations connues :

  • Édition des binaires compilés avec / bigobj (il est utilisé par exemple pour les applications de Windows Store) : si vous essayez de faire une modification dans un binaire compilé avec / bigobj vous recevrez un message d'erreur indiquant que « des modifications sont apportées qui ne peuvent pas être compilées » (la fenêtre d’erreur contiendra le message d'erreur « cl : Command line error D8016 : '/bigobj' and '/ZX' command-line options are incompatible »). Vous aurez alors la possibilité de revenir en arrière et modifier manuellement le fichier, ignorer ou avoir recourt à la fonction undo de Visual Studio pour toutes vos modifications. Microsoft envisage de corriger ce problème dans une prochaine mise à jour de Visual Studio 2015.
  • Édition des binaires liés avec l’information de débogage / DEBUG:FASTLINK : si vous essayez de faire une modification dans un binaire compilé avec cela, vous recevrez un message d'erreur vous indiquant qu’Edit and Continue n’est pas pris en charge pour ce binaire et qui vous proposera d’utiliser / DEBUG à la place. Microsoft envisage de corriger ce problème dans une prochaine mise à jour de Visual Studio 2015.
  • Les binaires supportent un nombre limité d’éditions : afin de supporter Edit and Continue, le compilateur réserve un espace vide dans le binaire qui met le code à jour lorsque des modifications sont apportées (c’est l'option / ZI qui demande au compilateur de le faire). Cela signifie qu'il est possible de remplir l'espace réservé après plusieurs modifications (l'espace utilisé par chaque modification dépendra de la portée et l'ampleur de l'édition, il n’est pas tributaire en réalité d’un nombre prédéterminé de modifications supportées). Si vous manquez d'espace de réserve dans le binaire, vous verrez un message d'erreur qui vous indiquera qu’il n’y a plus d’espace dans le module. Microsoft envisage d'ajouter la possibilité pour vous d'augmenter l'espace réservé si nécessaire dans une future mise à jour de Visual Studio 2015.
  • Edit and Continue n’est pas compatible avec le code optimisé, ne supporte pas l’ajout ou la modification de variables globales ou statiques ni l’édition de binaires liés à Safe Structured Exception Handlers (/SAFESEH).


Source : blog MSDN

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de clementmarcotte
Expert éminent https://www.developpez.com
Le 28/07/2015 à 23:15
C'est rien qu'un hospice de trouble.

Bye Bye VS 2015.

Je vais attendre l'update 500.
Avatar de Médinoc
Expert éminent sénior https://www.developpez.com
Le 30/07/2015 à 22:42
Donc en gros, Visual Studio supporte enfin le Edit-and-Continue en 64 bits?
Avatar de shkyo
Membre expérimenté https://www.developpez.com
Le 03/08/2015 à 9:31
Projet: je pense me lancer avec VS2015 dans le dév d'applis Windows Phone (disons plutôt Win10 maintenant...) avec un portage à court terme sur iOS...

Question bête: je fais du C#/XAML pour Windows puis je prends un abonnement Xamarin pour iOS, ou alors si je fais tout en C++ directement, je ne serais pas embêté au passage sur iOS???
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 03/08/2015 à 10:04
le mieux est de tester quelques lignes de code et si ca fonctionne avant de choisir
le développement en c++ devrait être multiplateforme
quand à xamarin, c'est un framework à part (non vectoriel, donc je suppose que ce n'est pas du xaml, ou pas du xaml de wpf), rien à voir avec w10 unniversal app je pense, le projet xamarin pourra fonctionner sur différentes plateformes, seul le code non graphique devrait être portable d'un projet w10 à un projet xamarin
Avatar de shkyo
Membre expérimenté https://www.developpez.com
Le 03/08/2015 à 10:17
Le problème technique c'est que pour tester la compil iOS, il faut absolument un Apple à ce que j'ai pu lire, ce qui n'est pas mon cas pour l'instant... Vu les prix de la pomme, je ne veux pas acheter du matos sans avoir déjà une appli qui tourne en Windows!

C'est pour ça que j'essaie de trouver des retours d'expérience de développement multi-plateforme avant d'investir...

EDIT: je viens de trouver cet article assez intéressant je trouve: http://blogs.msdn.com/b/emargraff/archive/2014/09/11/3-approches-pour-cr-233-er-son-application-mobile-sur-toutes-les-plateformes.aspx
il date de 2014, mais bon il résume bien la situation.
Avatar de Pol63
Expert éminent sénior https://www.developpez.com
Le 03/08/2015 à 10:57
un vieux d'occas coute un peu moins cher ^^

sinon depuis il y aurait en plus le c++ de vs qui permet de faire du natif pour chaque plateforme
Avatar de shkyo
Membre expérimenté https://www.developpez.com
Le 03/08/2015 à 11:13
Citation Envoyé par Pol63 Voir le message
un vieux d'occas coute un peu moins cher ^^

sinon depuis il y aurait en plus le c++ de vs qui permet de faire du natif pour chaque plateforme
C'est vrai qu'il y a de l'occaz, j'avais surtout regardé le Mac Mini, qui à mon avis suffit amplement (enfin j'espère...)

Quand au C++, ou le C# mon cœur balance!

En fait, ayant plus d'expérience en vb.net avec VS, je pense que j'irai plus vite en me mettant au C#, enfin c'est l'idée que je m'en fais d'après ce que j'ai pu voir de ce langage.

Et parce que je sais que le C++ n'est pas forcément évident au début, j'ai bien fait du C il y a pas mal de temps maintenant, mais je ne pense pas que ça m'aide beaucoup!
Avatar de lauraJ
Candidat au Club https://www.developpez.com
Le 25/09/2015 à 9:35
Pouvez-vous m'indiquer quelle est la configuration minimale requise pour faire tourner Microsoft Visual Studio 2015 CTP 6 ?
Certaines machines ne redémarrent pas après activation de la fonction hyper-V sur un système pro.
Cela peut-il marcher sur un i3-4130 ? D'après ARK, la techno SLAT est présente. Les constructeurs ne garantissent pas le fonctionnement.

Cordialement
Avatar de The_badger_man
Rédacteur https://www.developpez.com
Le 25/09/2015 à 13:05
Systèmes d'exploitation pris en charge

Windows 8.1 (x86 et x64)
Windows 7 SP1 (x86 et x64)
Windows Server 2012 R2 (x64)
Windows Server 2012 (x64)
Windows Server 2008 R2 SP1 (x64)
Configuration matérielle

Processeur de 1,6 GHz ou plus rapide
1 Go de RAM (1,5 Go en cas d'exécution sur un ordinateur virtuel)
10 Go d'espace disque disponible
Lecteur de disque dur de 5 400 tours/min
Carte vidéo compatible DirectX 9 s'exécutant à une résolution d'affichage de 1024 x 768 ou supérieure
Autres éléments requis :

Sous Windows 8.1 et Windows Server 2012 R2, la mise à jour KB2883200 (disponible via Windows Update) est nécessaire
Internet Explorer 10
Pour le développement Windows Phone :
- Windows 8.1 (x64), édition professionnelle ou supérieure
- Émulateur Windows Phone
- Processeur prenant en charge SLAT (Second Level Address Translation)
Avatar de clementmarcotte
Expert éminent https://www.developpez.com
Le 14/10/2015 à 6:23
Bonjour,

L'aide de VS2015 en français, du moins, une partie, est maintenant disponible pour être ajoutée à la visionneuse d'aide.

De mémoire, il y a les notions fondamentales, Visual Basic, C#, F#, Lightswitch et peut-être d'autres. Au moment, ou j'écris ces lignes, rien sur le Framework 4.5.2 et le Framework 4.6. (Sauf en anglais). En français, il n'y a toujours que l'ancienne aide qui s'arrête au Framework 4.5.1

P.S. Pour l'installation de VS 2015, ce fut toute une épopée, mais j'ai fini par en venir à bout.

Modification 14 octobre 2015 16 h 39 Heure avancée de L'Est.

Les nouveaux fichiers d'aide du Framework sont rendus : 830 Megs et un peu plus.
Il y a aussi l'aide de Python pour VS en français
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web