Aller au contenu

[Résolu] Debug MAP sur Visual Studio 2015


didier

Messages recommandés

Bonjour à Toutes et à Tous

 

Je continue mon auto-formation en C#, je continue avec mes applications Console mais en parallèle je fais des test avec AutoCAD ce qui est mon but ultime.

 

Pour ce faire, j'ai suivi à la lettre les explications de (gile), je le remercie publiquement de tous les efforts qu'il fait pour aider les benêts de mon espèce.

 

J'ai créé un fichier test.scr dans le répertoire debug

J'ai modifié le fichier .csproj avec les lignes qui suivent

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<StartAction>Program</StartAction>
<StartProgram>C:\Program Files\Autodesk\AutoCAD 2015\Acad.exe</StartProgram>
<StartArguments>/nologo /b "E:\dossier didier\Visual Studio 2015\Projects\ligne_gilles\ligne_gilles\start.scr"</StartArguments>
 </PropertyGroup>

 

Lorsque je clique sur démarrer dans visual studio:

un message me prévient qu'une dll ne vient pas d'un endroit de confiance donc je clique sur charger

ça signifie que le fichier script a bel et bien été pris en compte

ensuite une interface AutoCAD en cours de lancement et tout de suite le message comme quoi AutoCAD a cessé de fonctionner et patati et patata...

J'ai essayé de changer le framework, par défaut 4.5.2 rien n'y fait

 

Par contre, lorsque je lance AutoCAD "à la main", que je charge la DLL "à la main", ça fonctionne et AutCAD et la DLL !

mais pas moyen de suivre le pas à pas dans visual studio par F11 car j'aimerais pour le faire pour avancer dans mon apprentissage.

 

Je précise que mon AutoCAD est en fait un AutoCAD MAP 2015, que je travaille sous OuineDose 8,

un fin réglage que forcément j'ignore est-il caché quelque part ?

 

Merci pour celles et ceux qui chercheront à me dépatouiller.

 

À bientôt

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Le gros souci avec ce que j'ai expliqué précédemment est que :

Si je fais une modification dans Visual Studio

Je génère à nouveau la solution (création de la DLL)

Je re netload la nouvelle DLL dans AutoCAD et ...

  • ce n'est pas la la nouvelle qui est chargée c'est encore l'ancienne !!!
  • alors je ferme AUtoCAD
  • je démarre AutoCAD
  • je netload la DLL (nouvelle)
  • et je fais mon test

J'ai l'impression d'être revenu avec l'edit du DOS quand je débutais en Lisp...

 

Merci de votre attention

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Première chose (un classique) la propriété "Copie locale" des références aux bibliothèques AutoCAD (accoremgd.dll, acdbmgd.dll et acmgd.dll) est-elle bien à False ?

Ceci pourrait expliquer le "AutoCAD a cessé de fonctionner...".

 

Si vraiment tu n'arrives pas à faire un modèle de projet comme expliqué dans le tutoriel, tu peux télécharger AcadCs2015.zip (peut-être faut il le "débloquer") et le coller dans le dossier "Visual Studio 2015\Templates\ProjectTemplates" qui se trouve par défaut dans tes documents.

Pour que ce modèle fonctionne, le dossier ObjectARX 2015 doit se trouver à la racine de C:\.

Ceci fait quand tu démarreras un nouveau projet dans Visual Studio, tu pourras choisir ce modèle, renommer le projet et la solution et spécifier l'emplacement que tu veux. Il suffit ensuite, dans le projet d'ouvrir le fichier start.scr (directement dans Visual Studio) et de remplacer "AcadCs2015.dll" par le nom du projet (avec l'extension .dll) dans le script.

 

Il est, à mon avis important d'avoir un lancement d'AutoCAD avec chargement automatique de la dll qui fonctionne justement à cause du second problème soulevé.

On ne peut pas décharger une DLL chargée dans AutoCAD, ce qui implique que quand on a chargé son programme on soit obligé de refermer AutoCAD pour le recharger.

 

La seule possibilité pour modifier le code en cours de débogage est l'utilisation de la fonctionnalité "Edit and Continue" qui permet, en plaçant un point d'arrêt dans le code de modifier le code et de continuer le débogage.

Cet outil ne fonctionnait pas avec les systèmes 64 bits (à moins de manœuvres compliquées pour désactiver la "fibre").

Mais comme AutoCAD a abandonné la fibre avec la version 2015, ça devrait fonctionner à nouveau (personnellement, je ne m'en sers pas, probablement par manque d'habitude). Il faut juste vérifier que dans les options de débogage (menu Déboguer > Options...) que "Utiliser le mode compatibilité managé" soit décoché et que "Activer Modifier et Continuer" soit coché, bien sûr.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Et c'est encore (gile) qui répond, un grand merci

 

Tu as bien de faire une piqûre de rappel car les DLL étaient à TRUE (erreur classique, n'est-ce pas)

J'avais bien fait gaffe à chaque nouveau projet mais à force d'en faire j'ai zappé

Du coup je me suis dit Bingo, et change les valeurs et je relance, et.................et..................

Idem, plantage AutoCAD et en plus je n'ai plus le message concernant le chargement d'une DLL d'un endroit non approuvé

Moi pas comprendre.

 

Vidéo de ce qui se passe : VIDEO

 

J'en ai marre ce soir, toute la journée passée à se battre, je vais lire du Stephen King, ça va me remettre en place.

 

Amicalement, et un encore grand merci à Toi

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

C'est aussi pour éviter ce genre d'oubli qu'on utilise des "modèles de projet" (project template).

 

Comme avec AutoCAD, on est vite lassé de toujours démarrer à partir d'un gabarit vide acadiso.dwt et on se fait ses propres gabarits avec les paramétrages qui vont bien bien. ;)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Une petite vidéo pour montrer l'utilisation d'un modèle de projet (CF réponse #3) et des possibilités de modifications du code pendant le débogage.

 

J'ai essayé de bien montrer qu'on ne peut modifier le code que pendant son exécution, lorsque celle-ci est interrompue par une erreur ou un point d'arrêt.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

J'ai deux mauvaises nouvelles :

- George Amberson a tué Lee Oswald pendant que ce dernier attentait à la vie de JFK et donc sa présidence a continué mais le monde a basculé, il va falloir tout réparer

ça c'est Stephen King

- le code que tu m'as fait télécharger via le message #3 ne fonctionne pas

 

Dans ce dernier j'ai retiré les signes "dollar" en début et fin de

safeprojectname car l'IDE n'en voulait pas en le signalant par des vaguelettes rouges

 

Une fois fait, je vérifie les false et true des DLL chargée, OK tout est à false.

Je lance par démarrer

Lancement d'AutoCAD SANS me prévenir du chargement d'une DLL venant d'un endroit non approuvé (déjà ça c'est étonnant)

Et puis plantage lamentable comme sur ma vidéo.

En patientant quelques secondes apparaît un message dont j'ai capturé les images :

24-09-16 10-04-06.png

24-09-16 09-55-42.png

 

Ensuite pour tester, j'ai changé le répertoire de sélection des DLL en références en mettant celui d'origine

C:\Program Files\Autodesk\AutoCAD 2015\accoremgd.dll

Pour le premier test j'avais pris ceux de ObjectARX2015, mais rien n'y fait même plantage

 

Je vais bien continuer un peu mes tests mais je suis au bout de ce que je sais faire tout seul

 

Il va falloir que je regarde comment on fait un template quand ça fonctionnera, mais ça c'est une autre histoire...

 

Au risque de me répéter, MERCI

 

Amicalement

 

 

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Je dois mal m'exprimer.

 

Pour démarrer un projet de "plugin" pour AutoCAD à partir de zéro (nouveau projet > bibliothèque de classe > etc.), tu peux suivre les instructions de ce tutoriel dont le but est de créer un modèle de projet. Sans exporter le modèle, on a bien un créé un plugin pour AutoCAD.

 

Le fichier ZIP en téléchargement dans la réponse #3 est le résultat de l'exportation du modèle telle que décrite dans le tutoriel suscité. Il faut le coller tel quel (sans dézipper) dans le répertoire : Visual Studio 2015\Templates\ProjectTemplates, pour pouvoir l'utiliser comme les autres modèles proposés par Visual Studio (Bibliothèque de classe, Application console, etc.) tel que montré dans la vidéo de la réponse #6.

 

Je comprends que tu aies envie de comprendre les fondamentaux et donc de démarrer de "zéro" (en fait d'un modèle "Bibliothèque de classe").

Si ton projet ne marche pas, jette-le et recommence un nouveau projet en faisant bien attention à toutes les étapes :

- Bibliothèque de classe

- Framework 4.5

- Références accoremgd.dll, acdbmgd.dll et acmgd.dll depuis ObjectARX 2015 et en Copie locale = False

- Fichier script avec la propriété "Copier dans le répertoire" à "Toujours copier"

 

Avec Visual Studio 2015 Community, tu peux spécifier le programme à lancer (AutoCAD) et les arguments de ligne de commande dans l'onglet Débogage des propriétés du projet.

 

OngletDebug.png

 

Ça suffit pour tester, mais comme ces informations sont stockées dans un fichier .csproj.user, pour exporter le modèle, il faut d'abord modifier le fichier .csproj, on peut récupérer les balise xml dans le fichier .csporj.user pour les coller dans .csproj.

 

J'essayerais de faire une vidéo cet après-midi.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Quand aurai-je fini de te remercier ?

 

Je vais regarder et appliquer ce que tu expliques

A priori le fait que je sois en "MAP" n'a pas l'air de te tracasser, je pensais que cela pouvait avoir une influence.

Dans tous les cas de figure je mets mes résultats en ligne

Des fois que je ne sois pas le seul indécrottable benêt de la planète AutoCAD.

 

À bientôt

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Dans la série : rien ne marche : the winner is ...........didier

J'ai testé, repris à zéro, changé un par un les paramètres, je pense bien avoir tout fait* et j'ai toujours le même plantage

Du coup j'attends ta vidéo car franchement, de mon côté, je ne vois pas

Et dire que je n'ai pas encore tapé une ligne de code !!!!!

 

Amicalement

 

*j'espère au fond de moi que ce n'est pas vrai et que ça va marcher.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Tu as des problèmes avec Visual Studio, moi c'est avec Camtasia Studio.

Je n'arrive pas (plus) à mettre mes vidéos sur Screencast.

Donc tout ce que j'arrive à faire aujourd'hui c'est un lien vers un zip qui contient un mp4.

La vidéo décrit comment démarrer un projet pour un plugin AutoCAD en partant de zéro, puis comment transformer ce projet en modèle de projet.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

J'ai le même souci que Didier.

J'ai commencé une solution avec VS 2015 Community (2 projets : 1 pour MAP 2012 et le 2nd pour MAP 3D 2015), et je débug avec le projet 2 pour MAP 3D 2015.

Ce projet fonctionne sans souci et je peux débugguer sur ma machine de bureau qui est sous WIndows 7 Pro x64.

 

J'ai ramené ce projet à la maison sur mon PC perso sous Windows 10 Pro, et là patatra dès que je démarre, j'ai le message AutoCAD a cessé de fonctionner.

Idem si je démarre le projet pour MAP 3D 2012.

 

D'accord ni MAP 2012, ni MAP 2015 ne sont censés fonctionner sous Windows 10, mais en dehors de ce cas de débug, je n'ai aucun souci pour les faire fonctionner normalement.

 

Didier est sous WIndows 8, quel OS utilises-tu Gilles?

 

En cherchant sur internet, j'ai vu une discussion sur un problème avec AutoCAD 2017 et VS 2015 concernant les rubans et le chargement de DLL en mode debug. Ce problème est réglé par le SP1.

Par contre dans ma fenêtre de sortie de VS après le plantage d'AutoCAD, j'ai ces messages d'erreur

 

System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='<null>' BindingExpression:Path=AutomationName; DataItem='ToolBarCustomizeButton' (HashCode=13531531); target element is 'ToolBarToggleButton' (Name='mCustomizeButton'); target property is 'Name' (type 'String')

puis d'autre message d'erreur qui semble lié au ruban

System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='<null>' BindingExpression:Path=AutomationName; DataItem='InfoCenterTextBox' (HashCode=44915976); target element is 'RibbonItemControl' (Name=''); target property is 'Name' (type 'String')
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='<null>' BindingExpression:Path=AutomationName; DataItem='InfoCenterTextBox' (HashCode=44915976); target element is 'Button' (Name='PART_AcceptButton'); target property is 'Name' (type 'String')

Est-ce que la plate-forme MAP 3D aurait des rubans différents d'AutoCAD seul qui pourraient poser problème?

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

J'utilise Windows 7 Pro.

 

J'ai peut-être une piste.

Ce type d'erreur arrivait avec les versions d'AutoCAD (Vanilla) antérieures à 2015 quand l'option de débogage "Utiliser le mode compatibilité managé" était décochée (menu Débogage > Options... ou menu Outils > Options...> Débogage > Général). Voir ce sujet.

 

Donc, essayez de cocher cette option. L'inconvénient est qu'on perd la possibilité d'utiliser "Modifier et Continuer" (CF réponse #3).

Après, je ne saurais dire si le problème vient de MAP ou de Windows 8 ou 10...

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Comme je le disais, je ne me suis jamais vraiment servi de "Modifier et Continuer". J'avais fait quelques essais quand j'étais encore avec des systèmes 32 bits, mais sans plus, et complètement abandonné avec le passage à 64 bits.

 

Ce sont des discussions récentes comme celle-ci (ou celle-la) qui m'ont poussé à refaire des essais.

 

De mon côté (avec Windows 7 Pro SP1 64 bits, Visual Studio 2015 SP1) j'arrive à utiliser "Modifier et Continuer", à partir de la version 2015, sur :

  • AutoCAD 2015 SP2
  • AutoCAD 2016 SP1
  • AutoCAD MEP 2016 SP1
  • AutoCAD 2017 SP1

Je n'ai pas testé sur d'autres saveurs d'AutoCAD.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Un grand merci à (gile) qui fait beaucoup d'efforts pour nous (mais surtout pour moi dans ce cas de figure)

OK ta vidéo est passée et j'ai appliqué pas à pas, pas de changement par rapport à ce que j'avais déjà fait et le résultat n'est que plantage sur plantage

 

Lorsque je lance par F5 > plantage pur et simple

Lorsque je lance par Ctrl+F5 (without debugging) > AutoCAD démarre mais je ne pense pas pouvoir faire du pas à pas

donc autant lancer tout à la main

 

J'ai bien vérifié que la case est bien cochée dans les options pour le "Use Managed Compatibility Mode"

 

Mon MAP 3D 2015 est en SP3, je suis sur Windows 8 en 64 bits

Grrrrr!!! l'informatique est vraiment un passe-temps étrange, je doutais de moi mais les avis indiquant le même souci tendraient à prouver que ce n'est pas "moi" qui déconne, un paramètre caché quelque part différencie MAP et AutoCAD, non ?

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Où est-ce que je dois vérifier cette option ?

 

Un souci supplémentaire qui confirme que l'informatique est vraiment sujette à bien des caprices

J'ai désinstallé puis réinstallé Visual Studio des fois que la première install soit mal configurée

Et depuis, je ne peux plus mettre les menus en français ! c'est n'importe quoi ! le langage pack s'installe, du moins c'est ce qu'il dit avoir fait au bout de quelques temps, mais je n'ai pas moyen dans les options d'accéder au français !

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Les options de Visual Studio mériteraient à elles seules une petite encyclopédie. :rolleyes:

Visual Studio est, aujourd'hui, le plus gros logiciel de Microsoft.

 

On accède aux options de débogage,

- soit depuis le menu Débogage > Options... > Général ;

- soit depuis le menu Outils > Options... > Débogage > Général.

 

Les paramètres que j'utilise en jouant sur "Utiliser le mode de compatibilité managé" suivant les versions (avec cette option cochée "Modifier et Continuer" ne fonctionne plus) :

 

VsDebugOptions.png

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Oui c'est certain qu'au vu du nombre des options il y a de quoi faire de la littérature !

Toutefois de mon côté je suis bien dans la cas de figure cité :

 

26-09-16 10-20-39.png

 

Ça ne fonctionne toujours pas pour AutoCAD , ni même de passer les menus de Visual Studio en français grrrrr!

Je continue mon auto-formation et cette semaine je vais travailler sur les tableaux (arrays)

Mais toujours en console ce qui ne me console pas (hihi)

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Peu important mais quand même ça prouve que l'informatique c'est erratique !

 

Rechargement (pour la quatrième fois) du langage pack

Et ça y est, sans même à avoir à sélectionner dans les options, les menus sont en français !!!!

 

Ne reste plus qu'à régler le lancement de MAP et je pourrai m'y mettre

Cette dernière chose à faire n'est pas des moindres...

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Je préfère continuer la discussion dans ce post pour ne pas polluer l'exemple de (gile) qui fonctionne en dehors de MAP.

 

J'ai appliqué mais je ne suis pas certain d'avoir tout compris ce qui est dit ICI

Est-ce une piste de recherche ?

 

Amicalement

Lien vers le commentaire
Partager sur d’autres sites

J'ai appliqué mais je ne suis pas certain d'avoir tout compris ce qui est dit ICI

Est-ce une piste de recherche ?

 

Amicalement

Je ne pense pas, le sujet en lien parle de Visual Studio 2010, il y a eu 3 nouvelles versions de Visual Studio depuis.

 

Par contre, as-tu mis à jour Visual Studio 2015 ? un Update 3 a été publié il y a quelques jours. je viens de l'installer sans noter de problème, jusque là, j'étais avec le Update 1 (j'ai zappé le 2).

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité