Debugging/it

Prova preliminare
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.

Command Line
The debugging of FreeCAD is supported by a few internal mechanisms. The command line version of FreeCAD provides some options for debugging support.

These are the currently recognized options in FreeCAD 0.15:

Generic options: -v [ --version ]     Prints version string -h [ --help ]        Prints help message -c [ --console ]     Starts in console mode --response-file arg  Can be specified with '@name', too

Configuration: -l [ --write-log ]      Writes a log file to: /home/graphos/.FreeCAD/FreeCAD.log --log-file arg          Unlike to --write-log this allows to log to an                            arbitrary file -u [ --user-cfg ] arg   User config file to load/save user settings -s [ --system-cfg ] arg Systen config file to load/save system settings -t [ --run-test ] arg   Test level -M [ --module-path ] arg Additional module paths -P [ --python-path ] arg Additional python paths

Generare un Backtrace
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 autocompilare FreeCAD, oppure ottenere una versione "debug" pre-compilata.

Per Linux
Prerequisiti:


 * pacchetto software gdb installato
 * un debug build di FreeCAD
 * un modello di FreeCAD che causa un crash

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 FreeCAD will now start up. Perform the steps that cause FreeCAD to crash or freeze, then enter in the terminal window: (gdb) bt This will generate a lengthy listing of exactly what the program was doing when it crashed or froze. Include this with your problem report.

Python Debugging
Here is an example of using winpdb inside FreeCAD:


 * 1) Eseguire winpdb e impostare la password (ad esempio test)
 * 2) Creare un file Python con questo contenuto
 * 1) Avviare FreeCAD e caricare il file precedente in FreeCAD.
 * 2) Premere F6 per eseguirlo.
 * 3) Ora FreeCAD non risponde perché il debugger Python è in attesa
 * 4) Passare alla GUI di Windpdb e cliccare su "Attach". Dopo pochi secondi appare una voce "" su cui si deve fare doppio clic.
 * 5) Ora in Winpdb viene visualizzato lo script attualmente in esecuzione.
 * 6) Impostare un break nell'ultima riga e premere F5.
 * 7) Ora premere F7 per entrare nel codice Python di Draft.makeWire