Prima di provare il debug usare la La struttura di Test (test framework - macro) per verificare se i test standard funzionano correttamente. Se non funzionano, è possibile che l'installazione sia danneggiata.
Il debug di FreeCAD è supportato da alcuni meccanismi interni. La versione a riga di comando di FreeCAD fornisce delle opzioni di supporto del debug:
Queste sono le opzioni attualmente riconosciute in FreeCAD 0.15:
Opzioni generiche:
-v [ --version ] Stampa una stringa della versione -h [ --help ] Stampa un messaggio di aiuto -c [ --console ] Avvia in modalità console --response-file arg Può anche essere specificato con '@name'
Configurazione:
-l [ --write-log ] Scrive un file di log file in: $HOME/.FreeCAD/FreeCAD.log --log-file arg A differenza di --write-log permette di scrivere il file di log in un file arbitrario -u [ --user-cfg ] arg File per caricare/salvare le impostazioni dell'utente -s [ --system-cfg ] arg File per caricare/salvare le impostazioni di sistema -t [ --run-test ] arg Livello di Test -M [ --module-path ] arg Percorsi di moduli aggiuntivi -P [ --python-path ] arg Percorsi aggiuntivi di python
Se si esegue una versione sperimentale di FreeCAD ancora in fase sviluppo, essa potrebbe "bloccarsi". Si può aiutare gli sviluppatori a risolvere questi problemi fornendo loro un "backtrace". Per fare questo, è necessario eseguire un "debug build" del software. "Debug build" è un parametro che viene impostato al momento della compilazione, perciò bisogna auto-compilare FreeCAD, oppure ottenere una versione "debug" precompilata.
Linux Debugging ---->
Prerequisiti:
Passaggi:
Immettere quanto segue nella finestra del terminale:
$ cd FreeCAD/bin $ gdb FreeCAD
GNUdebugger will output some initializing information. The (gdb) shows GNUDebugger is running in the terminal, now input:
(gdb) handle SIG33 noprint nostop (gdb) run
Ora FreeCAD viene avviato. Effettuare le operazioni che causano il crash o il blocco di FreeCAD, quindi immettere 'bt' nella finestra del terminale.
(gdb) bt
Questo genera una lunga lista che descrive esattamente ciò che il programma stava facendo quando è andato in crash o in blocco. Includere questa lista nel vostro rapporto sul problema.
MacOSX Debugging ---->
Prerequisiti:
Passaggi:
Immettere quanto segue nella finestra del terminale:
$ cd FreeCAD/bin $ lldb FreeCAD
LLDB produrrà alcune informazioni di inizializzazione. Il (lldb) mostra che il debugger è in esecuzione nel terminale, ora dare:
(lldb) run
Ora FreeCAD viene avviato. Effettuare le operazioni che causano il crash o il blocco di FreeCAD, quindi immettere 'bt' nella finestra del terminale.
(lldb) bt
Questo genera una lunga lista che descrive esattamente ciò che il programma stava facendo quando è andato in crash o in blocco. Includere questa lista nel vostro rapporto sul problema.
Ecco un esempio di utilizzo di winpdb all'interno di FreeCAD:
import rpdb2
rpdb2.start_embedded_debugger("test")
import FreeCAD
import Part
import Draft
print "hello"
print "hello"
import Draft
points=[FreeCAD.Vector(-3.0,-1.0,0.0),FreeCAD.Vector(-2.0,0.0,0.0)]
Draft.makeWire(points,closed=False,face=False,support=None)