| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Portieren einer arx-App => kein debuggen (2604 mal gelesen)
|
Josefus Mitglied Ingenieur
Beiträge: 23 Registriert: 22.03.2006 Windows 10, 64 bit AUTOCAD 2019 c++ mit objectarx MS Visual Studio 2017
|
erstellt am: 12. Apr. 2007 15:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe arx-Applikationen (C++) von AutoCAD 2002 und VisualStudio 6 portiert nach AutoCAD 2007 und VS 2005. Die Release-Versionen laufen, aber nicht die debug-Versionen. Welche Einstellungen muß man verwenden? Beim Start kommt unmittelbar die Fehler-Meldung: Eine verwaltete Ausf?hrung wird innerhalb der Sperre fuer den OS-Loader versucht. Versuchen Sie nicht, verwalteten Code innerhalb einer DllMain- oder Bildinitialisierungsfunktion auszufuehren, da dies ein Haengen der Anwendung zur Folge haben kann. --> <mda:loaderLockMsg break="true"/> </mda:msg> acad.exe hat einen Haltepunkt ausgelöst. Mein C++ Code ist natürlich "nicht verwaltet". Zu Hilf, Josefus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 12. Apr. 2007 15:45 <-- editieren / zitieren --> Unities abgeben: Nur für Josefus
Hi Josefus, Ich hab den Loaderlock auch schon zu sehen bekommen. Allerdings bei VB.Net und VS in Verbindung mit AutoCAD 2006 und 2007. Welche DLLs vom AUtoCAD bindest du bei dir mit ein? Beim VB.NET musste ich eine der beiden DLLs nicht einbinden, dann lief es. Ob es beim C++ genauso ist, kann ich nicht sagen. Kannst das ja mal ausprobieren. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Josefus Mitglied Ingenieur
Beiträge: 23 Registriert: 22.03.2006 Windows 10, 64 bit AUTOCAD 2019 c++ mit objectarx MS Visual Studio 2017
|
erstellt am: 13. Apr. 2007 11:09 <-- editieren / zitieren --> Unities abgeben:
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002
|
erstellt am: 13. Apr. 2007 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für Josefus
Hi, Wie gesagt ist schone nne Weile her, das ich mich damit beschäftigt habe. Und das war mit VB.Net. Aber es lag an einer dieser DLLs: acmdg.dll oder acdbmgd.dll . Eine der beiden wird wohl automatisch mitgeladen und braucht nicht in dein Projekt eingebunden werden. Sonst weiß criecky vielleicht woran es liegt. Der proggt ja auch in c++. Gruß, Carsten [Diese Nachricht wurde von Carsten1210 am 13. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Josefus Mitglied Ingenieur
Beiträge: 23 Registriert: 22.03.2006 Windows 10, 64 bit AUTOCAD 2019 c++ mit objectarx MS Visual Studio 2017
|
erstellt am: 18. Apr. 2007 14:52 <-- editieren / zitieren --> Unities abgeben:
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 18. Apr. 2007 16:51 <-- editieren / zitieren --> Unities abgeben: Nur für Josefus
Hallo, die Fehlermeldung kommt von der LdrpLoaderLock-Critical Section aus NTDLL, die während der DLL-Initialisierung einen Deadlock verhindern soll. Dieser Teil ist extrem vorsichtig, so dass durchaus "Fehlalarme" vorkommen können. Es kann mehrere mögliche Gründe geben: a) Das Service Pack 1 für Visual Studio 2005 wurde noch nicht installiert. b) Es wird über P/Invoke eine Win32-DLL eingebunden, die "gefährliche" Sachen während der Initialisierung macht. c) Es wird über COM Interop ein ActiveX/OCX-Control eingebunden. c) Es wird das DirectX 9 SDK in eine .NET 2.0-Anwendung eingebunden. Nach meiner Erfahrung kannst diese Meldung getrost ohne weitere Probleme ausschalten. Hierfür ist es nötig im Exceptions Dialog (Debug -> Exceptions -> Managed Debuggig Assistants) die LoaderLock Meldung zu deaktivieren.
gruss criecky ------------------ Softlan macht das Netzwerk weich! www.cbyte.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Josefus Mitglied Ingenieur
Beiträge: 23 Registriert: 22.03.2006 Windows 10, 64 bit AUTOCAD 2019 c++ mit objectarx MS Visual Studio 2017
|
erstellt am: 16. Mai. 2007 11:18 <-- editieren / zitieren --> Unities abgeben:
|
criecky Mitglied MENSCH
Beiträge: 251 Registriert: 13.01.2004 ACAD 2011- 2017 www.cbyte.eu
|
erstellt am: 16. Mai. 2007 19:15 <-- editieren / zitieren --> Unities abgeben: Nur für Josefus
|
Josefus Mitglied Ingenieur
Beiträge: 23 Registriert: 22.03.2006 Windows 10, 64 bit AUTOCAD 2019 c++ mit objectarx MS Visual Studio 2017
|
erstellt am: 25. Mai. 2007 18:17 <-- editieren / zitieren --> Unities abgeben:
Hallo, Danke für Eure Hilfe! An Criecky: ich wollte Dir eine abgespeckte Version des Programms schicken; dabei gelang es mir, den Fehler zu isolieren: Der Fehler war: Im Einstiegspunkt der arx, also der Routine "dllmain" hatte ich schon einen Aufruf eines Dialogs. In der runtime-Version lief das, aber nicht beim Debuggen. Lösung: Dialogaufrufe in dllmain gilt es also zu vermeiden! Und jetzt läuft´s Gruß Josefus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |