Définir un événement de pré-débogage sur Visual Studio 2008

J’aimerais exécuter une tâche avant de commencer à déboguer mon programme dans Visual Studio. Je dois exécuter cette tâche chaque fois que je débogue mon programme, donc un événement post-build ne suffit pas.

J’ai examiné l’onglet “Débogage” des parameters, mais cette option n’existe pas.

Y’a-t’il un quelconque moyen d’y arriver ?

La seule chose que vous pouvez essayer (IMO) est d’expérimenter avec la propriété Command dans la page de débogage de vos propriétés de projet , mais je ne pense pas que cela fonctionnera.

EDIT: si vous voulez démarrer un fichier batch, faites-le comme ceci,

yourbatch.bat $(targetPath) 

et dans yourbatch.bat, vous pouvez appeler votre programme de cette manière,

 call %1 %2 %3 %4 %5 %6 %7 %8 %9 

où% 2 …% 3 représentent un paramètre de programme possible (fourni par votre IDE)

La seule chose à laquelle je me demande si votre programme sera débogué directement (je pense que vous devrez peut-être y attacher manuellement dans l’EDI)

Ajoutez une étape de pré-génération aux options de compilation de votre version “debug” et ne la mettez pas dans la version “release”. (Édition: les étapes préalables à la construction sont définies dans la section Événements de construction des propriétés du projet)

Si vous parlez d’une fonction ou de quelque chose dans le code, utilisez un indicateur de pré-compilateur. Par exemple, dans votre version de débogage, vous avez probablement “_DEBUG” ou quelque chose de similaire en tant qu’indicateur de compilateur … donc dans le code

 #ifdef _DEBUG doMySpecialTask(); #endif 

et il ne sera appelé qu’en utilisant une version de débogage.

EDIT: Déplacement des informations à partir du commentaire ci-dessous: Pour détecter un débogueur de manière dynamic lors de l’exécution, vous pouvez utiliser la fonction IsDebuggerPresent() dans Windows. Les Macs en ont aussi un, AmIBeingDebugged() . Ceci est utile si vous voulez que votre programme se comporte différemment lors du débogage, mais je ne le recommande pas, à moins qu’aucune autre option ne soit utile. La modification du comportement du programme lors du débogage peut entraîner la disparition ou la manifestation du problème de manière différente.