Sto facendo lo sviluppo del kernel Linux e sto cercando di utilizzare Netbeans. Nonostante il supporto dichiarato per i progetti C basati su Make, non riesco a creare un progetto Netbeans pienamente funzionante. Questo nonostante la compilazione avendo Netbeans analizzare un binario del kernel che è stato compilato con informazioni complete di debug. I problemi includono:Configurazione di Netbeans/Eclipse per lo sviluppo del kernel Linux
- file vengono erroneamente esclusi: Alcuni file sono in modo non corretto in grigio nel progetto, il che significa che Netbeans non crede che dovrebbero essere inclusi nel progetto, quando in realtà sono compilati nel kernel. Il problema principale è che Netbeans mancherà di tutte le definizioni esistenti in questi file, come le strutture e le funzioni dei dati, ma mancheranno anche le definizioni delle macro.
- Impossibile trovare definizioni: abbastanza auto-esplicativo: spesso, Netbeans non riesce a trovare la definizione di qualcosa. Questo è in parte il risultato del problema precedente.
- non riesce a trovare i file di intestazione: auto-esplicativo
Mi chiedo se qualcuno ha avuto successo con la creazione di Netbeans per lo sviluppo del kernel di Linux, e in caso affermativo, quali impostazioni hanno usato. In definitiva, sto cercando Netbeans per poter analizzare il Makefile (preferito) o estrarre le informazioni di debug dal binario (meno desiderabile, dato che questo può rallentare notevolmente la compilazione), e determinare automaticamente quali file sono effettivamente compilati e quali i macro sono effettivamente definiti. Quindi, in base a ciò, mi piacerebbe essere in grado di trovare le definizioni di qualsiasi struttura dati, variabile, funzione, ecc. E avere completamento automatico completo.
Lasciatemi prefazione a questa domanda con alcuni punti:
- io non sono interessato a soluzioni che coinvolgono Vim/Emacs. So che alcune persone come loro, ma io non sono uno di loro.
- Come il titolo suggerisce, sarei anche felice di sapere come set-up Eclipse a fare quello che devo
- Mentre io preferirei una copertura perfetta, qualcosa che manca solo uno su un milione definizioni è ovviamente bene
L'utile funzione "Domande correlate" di SO mi ha informato che la seguente domanda è correlata: https://stackoverflow.com/questions/149321/what-ide-would-be-good-for-linux-kernel-driver-development. Leggendolo, la domanda è più di un confronto tra IDE, mentre sto cercando come impostare un IDE particolare. Anche così, l'utente Wade Mealing sembra avere una certa esperienza nel lavorare con Eclipse su questo tipo di sviluppo, quindi apprezzerei sicuramente le sue (e ovviamente tutte le vostre) risposte.
Cheers
Grazie per il vostro consiglio. Ho provato qualcosa di simile con i file make-log, ma alla fine mostrava sempre gli stessi problemi. E usare quei CFLAG che hai specificato sarebbe un PITA perché aumenta di molto il tempo di compilazione. –
Dovrebbe funzionare in base all'esperienza passata. Ci proveremo. Anche se alcuni simboli a volte mancano e appaiono di nuovo che è puramente un problema interno di Netbeans. – Minghua
[Qui] (https://github.com/minghuascode/Nbk/blob/master/note-nbkparse) Ho creato uno script per generare il file make-log adatto per NetBeans per leggere e interpretare dall'output e dal dep File. Sì, è necessario modificare i makefile di Linux per lasciare i file dep. Funziona molto bene per me (quasi senza simboli mancanti). I passaggi sono un po 'lunghi, ma una volta che lo hai fatto una volta tutto sarà semplice. Auguro questo aiuto – minghua