Closed fuko-fabio closed 11 years ago
Wyślij albo wklej log, jest w pliku log.log.
ECGController.cpp [18] : ECGController created, 20:51 17-12-2012 ECGController.cpp [335] : ECGController::readFile ECGController.cpp [350] : File ECGController.cpp [351] : filename = D:/signals/100 ECGController.cpp [352] : Not loaded ECGController.cpp [353] : END: ECGController::readFile
Uruchom aplikację z brancha for_debug_open_file i wyślij zawartość pliku err.log.
Nie widze brancha for_debug_open_file. Puscilem sobie debuga i funkcja 'isigopen' zwraca -1. Failure: unable to read `header' file (probably incorrect record name)
I masz wszystkie 3 pliki (szczególnie hea i dat) w jednym katalogu (w tym,
w którym jest plik, który zaznaczasz)?
PS: problem na łączach, teraz już jest.
plik err init: can't open header for record D:/signals/202
plik log ECGController.cpp [18] : ECGController created, 20:51 17-12-2012 ECGController.cpp [335] : ECGController::readFile ECGController.cpp [350] : File ECGController.cpp [351] : filename = D:/signals/202 ECGController.cpp [352] : Not loaded ECGController.cpp [353] : END: ECGController::readFile
Wszystkie trzy pliki w tej samej lokalizacji pobrane ze strony, próbowałem dla rożnych sygnałów i nic. Zawsze isigopen zwraca -1
Nie jestem w stanie zreprodukować błędu przy użyciu plików pobranych z bazy. Jaki masz system?
Windows 8 Kolega na Windows 7 ma to samo.
W tym momencie nie jestem w stanie nic więcej zrobić.
Generalnie nie widziałem jeszcze tej aplikacji działającej. Chciałem przynajmniej zobaczyć czy mój moduł cokolwiek robi no ale może dowiem się z jutrzejszych slajdów :P
Zbudowałem i uruchomiłem to na Ubuntu, efekt:
init: can't open header for record /windows/d/signals/107
ecg-analyzer: /usr/include/boost/smart_ptr/shared_ptr.hpp:418: T* boost::shared_ptr
czyli to samo.
To może ściągnij jeszcze raz sygnały, bo wygląda na to, że Twoje pliki są
nieodpowiednie.
Rozwiązanie jest PROSTE ale #$#@%(tu miało być brzydkie słowo) (przynajmniej u mnie na dokładnie ten sam exception)! Coś się rąbie z tym jak masz spacje w ścieżce gdzie znajduje się sygnał czy też projekt, uprość sobie ścieżkę najlepiej cały projekt przenieść na C:\ECG-analyzer\ i wrzuć do tego samego folderu plik z sygnałem ew. do podkatalogu C:\ECG-analyzer\MIT_BIH_Signals ja tak mam. Chyba swoją drogą to już zgłaszałem, ale nikt z tym nic nie zrobił
Wyjątek to jest inna sprawa, to błąd jest po stronie GUI. Zaraz do tego będzie zgłoszony problem. Co do spacji w ścieżce, to u mnie taki problem nie występuje i otwierane są wszystkie pliki sygnału, niezależnie od tego gdzie się znajdują.
Pierwsze co zrobiłem to sprawdziłem ścieżki bo miałem długie i ze spacjami. Obecnie projekt mam w D:/ecg/ECG-analyzer a sygnały w D:/signals. Wiec rozwiązanie jednak nie jest takie proste.
Od początku nie jestem wstanie wczytać pliku z sygnałem do programu, po wybraniu pliku z gui niezależnie od typu pliku(atr, hea, dat) otrzymuje komunikat jak w załączonym pliku. VS zatrzymuje się w pliku ecgh.cpp na lini 54.
Nie tylko ja mam z tym problem wiec proszę o rozwiązanie tego.
Wczytywanie nie działa zarówno w gui jak i w testach.
Po debugu w Kontrolerze dokładnie w lini:
if (isigopen(const_cast<char*> (filename.c_str()), s, 2) < 2)
sygnał nie zostaje wczytany mimo ze jest podana scieżka.