Zajmuję się rozwojem jądra Linuksa i próbuję korzystać z Netbeans. Pomimo deklarowanej obsługi projektów opartych na Make-C, nie mogę stworzyć w pełni funkcjonalnego projektu Netbeans. Dzieje się tak pomimo kompilacji, w której Netbeans analizuje plik binarny jądra skompilowany z pełnymi informacjami debugowania. Problemy obejmują:Konfigurowanie Netbeans/Eclipse dla Linux Kernel Development
- pliki są błędnie wykluczony: Niektóre pliki są nieprawidłowo wyszarzone w projekcie, co oznacza, Netbeans nie wierzy, powinny one zostać uwzględnione w projekcie, podczas gdy w rzeczywistości są one zestawiane w jądro. Głównym problemem jest to, że Netbeans ominie wszelkie definicje istniejące w tych plikach, takie jak struktury danych i funkcje, ale także pominie definicje makr.
- nie można znaleźć definicji: Dość samo-wyjaśniające - często razy Netbeans nie może znaleźć definicji czegoś. Jest to częściowo wynikiem powyższego problemu.
- nie może znaleźć plików nagłówkowych: oczywista
Zastanawiam się, czy ktoś miał sukces konfigurowania Netbeans dla rozwoju jądra Linux, a jeśli tak, to jakie ustawienia są stosowane. Ostatecznie szukam Netbeans, aby móc albo parsować Makefile (preferowany), albo wyodrębnić informacje debugowania z pliku binarnego (mniej pożądane, ponieważ może to znacząco spowolnić kompilację) i automatycznie określić, które pliki są faktycznie skompilowane i które makra są faktycznie zdefiniowane. Następnie, w oparciu o to, chciałbym móc znaleźć definicje dowolnej struktury danych, zmiennych, funkcji itp. I mieć pełne automatyczne uzupełnianie.
Pozwól mi przedmowa to pytanie w niektórych punktach:
- Nie jestem zainteresowany rozwiązań obejmujących vim/Emacs. Wiem, że niektórzy ludzie je lubią, ale ja nie jestem jednym z nich.
- Jak sam tytuł sugeruje, byłbym również zadowolony wiedzieć, jak set-up Eclipse robić to, co muszę
- Chociaż wolałbym doskonały zasięg, coś, tylko strzela jedna na milion definicji jest oczywiście w porządku
Przydatna funkcja "Podobne pytania" poinformowała mnie, że następujące pytanie jest powiązane: https://stackoverflow.com/questions/149321/what-ide-would-be-good-for-linux-kernel-driver-development. Po przeczytaniu tego pytania, jest to raczej porównanie między IDE, podczas gdy ja szukam sposobu ustawienia konkretnego IDE. Mimo to użytkownik Wade Mealing zdaje się mieć doświadczenie w pracy z Eclipse przy tego rodzaju rozwoju, więc z pewnością doceniam jego (i oczywiście wszystkie twoje) odpowiedzi.
Pozdrowienia
Dziękuję za poradę. Próbowałem czegoś podobnego z plikami do tworzenia logów, ale w końcu wciąż wykazywał te same problemy. Używanie tych CFLAGS, które określiłeś byłoby PITA, ponieważ znacznie zwiększa czas kompilacji. –
Powinien działać w oparciu o wcześniejsze doświadczenia. Spróbuję. Chociaż niektóre symbole czasami są pomijane i pojawiają się ponownie, co jest czysto wewnętrznym problemem Netbeans. – Minghua
[tutaj] (https://github.com/minghuascode/Nbk/blob/master/note-nbkparse) Stworzyłem skrypt do generowania pliku make-log odpowiedniego dla NetBeans do odczytu i interpretacji z wyjścia make i dep akta. Tak, musisz zmodyfikować plik makefile, aby pozostawić pliki dep. Działa to bardzo dobrze (prawie brak brakujących symboli). Kroki są trochę dłuższe, ale gdy już raz to zrobisz, wszystko będzie proste. Życzę tej pomocy. – minghua