gregi08 Opublikowano 12 Kwietnia 2017 Zgłoś Opublikowano 12 Kwietnia 2017 Cześć! Pragnę dowiedzieć się, czy pozostali użytkownicy forum programujący z wykorzystaniem języków .NET (C#, VB.NET) są w stanie debugować swoje aplikacje pod ZwCAD2017? Próbowałem zarówno w dwóch wersjach Visual Studio: 2015 oraz 2017. W obu przypadkach próba debugowania aplikacji w celu wychwycenia wewnętrznych niespójności w ZwCAD2017 kończy się zanim właściwie się zaczyna - komunikatem o wkroczeniu aplikacji w punkt debugowania, do którego kodu źródłowego nie ma dostępu (sugeruje to pozostawione break-pointy w zasadniczym kodzie ZwCAD2017). Oryginalny komunikat: The application is in break mode Your app has entered a break state, but no code is currently executing that is supported by the selected debug engine (e.g. only native runtime code is executing). Porady ogólne (nie związane z ZwCADem) znalezione w odmętach internetu dotyczące zmiany ustawień VS nie dają rezultatu, stąd pytanie do użytkowników forum - czy jesteście w stanie debugować swoje aplikacje pod ZwCAD2017? Cytuj
dmatusz3 Opublikowano 12 Kwietnia 2017 Zgłoś Opublikowano 12 Kwietnia 2017 Witam, nie jestem do końca pewien, bo tylko patrzę przez ramię, ale wydaje mi się, że potrzeba VS 2012. Cytuj
kruszynski Opublikowano 13 Kwietnia 2017 Zgłoś Opublikowano 13 Kwietnia 2017 Zasadniczo można debugować aplikacje z wykorzystaniem .Net Przykłady jakie mamy z ZWSOFT (załącznik) , można debugować. Podejrzewam, że to raczej kwestia ustawień. Czy korzysta Pan z .Net w wersji 4.0 czy innej ? samples.zip Cytuj
gregi08 Opublikowano 13 Kwietnia 2017 Autor Zgłoś Opublikowano 13 Kwietnia 2017 Dziękuję za odpowiedzi. VS 2012 zapewne niezbędny jest do kompilowania projektów napisanych w C++ - zgodność binarna z ZwCAD'em 2017, który jest kompilowany z wykorzystaniem MSVS 11.0. W sprawie .NET: - biblioteki ZwManaged oraz ZwDatabaseMgd korzystają z 4.0; nakładki mogą być targetowane pod 4.5 - biblioteka kompiluje się poprawnie, po załadowaniu ZwCAD widzi polecenia i stara się je wykonywać, - przeanalizowałem przykłady, które Pan zamieścił; poza prostotą mają jedną cechę wspólną - brak implementacji interfejsu IExtensionApplication, służącego do zapewnienia logiki ładowania [metoda Initialize()] i rozładowywania [Terminate()] biblioteki. Przykłady: Public Class HelloWorld <CommandMethod("HelloWorld")> Public Sub HelloWorld() Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Hello World") End Sub End Class Public Class HelloWorldPlugin : Implements IExtensionApplication Public Sub Initialize() Implements IExtensionApplication.Initialize Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("Inicjalizacja biblioteki") End Sub Public Sub Terminate() Implements IExtensionApplication.Terminate End Sub End Class Wstawienie punktu przerwania w implementacji metody Initialize() powoduje błąd o którym pisałem w pierwszym poście, a co za tym idzie brak możliwości "podejrzenia" działania aplikacji. Oczywiście, można kombinować i w celu testów przenieść zawartość inicjalizacji do innej funkcji, ale: - konkurencja potrafi zrobić to porządnie, na etapie ZwCAD 2015 ZwSoft również, - błąd debugowania zdarza się również w trakcie wywoływania poleceń, w różnych, losowych przypadkach; proszę sobie wyobrazić typową dla mnie sytuację, gdy jestem w trakcie poszukiwania przyczyny niepoprawnego działania funkcji w ZwCAD 2017 (na papierze wszystko jest pięknie - w bibliotekach .NET ZwSoft zamieścił referencje do wszystkich potrzebnych mi funkcji, jednak ich implementacja nie jest całkowita) śledząc jej działanie linia po linii aż tu nagle, zbliżając się do potencjalnego miejsca wystąpienia rozbieżności pomiędzy ZW2017 a resztą świata operacja zostaje przerwana przedmiotowym komunikatem. Wtedy muszę przerwać debugowanie, zmodyfikować kod zapisując do pliku lub wyrzucając do konsoli stan aplikacji, skompilować, uruchomić ponownie ZwCADa, załadować, wywołać funkcję, określić różnice, wrócić do początku - rozumiem, że ZwSoft nie uważał za opłacalne opracowanie interpretera AutoLispa (podobnie uczynili inni gracze poza prymusem), ale debugowanie aplikacji .NET metodami jak za czasów Lispa? - wiem, że Państwo - administratorzy forum.cad.info.pl, firma Szansa nie jesteście właścicielami/decydentami ZwSoftu, ale kurczę, ... eh, dobra, proszę tylko o popchnięcie do Chin sprawy debugowania, JasW 1 Cytuj
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.