← Back to team overview

kicad-developers team mailing list archive

Re: Help needed to configure gdb

 

 gdb ./kicad/kicad is starting KiCad from the build directory.

This isn't a fully-supported way of debugging KiCad, but if you want to do
this, you must set the environment variable

KICAD_RUN_FROM_BUILD_DIR=1

Alternatively, since you are running `make install` above, you can use gdb
to debug KiCad at the installed location, rather than inside the build
directory.

This will probably be a more reliable mechanism.

-Jon

On Wed, Jul 7, 2021 at 9:24 AM Pradeepa Senanayake <pradeepa.kck@xxxxxxxxx>
wrote:

> Hello All,
>
> Sorry for the long mail.
>
> I'm trying to debug one of my changes using gdb and I've run into a
> roadblock.
>
> This is what I did so far,
>
> >> Built KiCAD using following commands
>
> cmake -DCMAKE_BUILD_TYPE=Debug
>       -G "MSYS Makefiles"
>       -DCMAKE_PREFIX_PATH=/mingw64
>        -DCMAKE_INSTALL_PREFIX=/mingw64
>        -DDEFAULT_INSTALL_PATH=/mingw64
>        -DOCC_INCLUDE_DIR=/mingw64/include/opencascade
>        -DPYTHON_INCLUDE_DIR=/mingw64/include/python3.8
>        ../../
> make -j 4 install
>
> >> Started gdb using the following command
>
> $: gdb ./kicad/kicad
>
> ...
> ...
> Reading symbols from ./kicad/kicad.exe...
> (gdb) run
> Starting program:
> I:\msys64\home\Pradeepa\kicad-source\build\debug\kicad\kicad.exe
> [New Thread 16296.0x41b0]
> [New Thread 16296.0x3e0c]
> [New Thread 16296.0x2130]
> Python path configuration:
>   PYTHONHOME = (not set)
>   PYTHONPATH = (not set)
>   program name = 'python3'
>   isolated = 0
>   environment = 1
>   user site = 1
>   import site = 1
>   sys._base_executable =
> 'I:/msys64/home/Pradeepa/kicad-source/build/debug/kicad/kicad.exe'
>   sys.base_prefix = 'D:/a/_temp/msys/msys64/mingw64'
>   sys.base_exec_prefix = 'D:/a/_temp/msys/msys64/mingw64'
>   sys.executable =
> 'I:/msys64/home/Pradeepa/kicad-source/build/debug/kicad/kicad.exe'
>   sys.prefix = 'D:/a/_temp/msys/msys64/mingw64'
>   sys.exec_prefix = 'D:/a/_temp/msys/msys64/mingw64'
>   sys.path = [
>     'D:/a/_temp/msys/msys64/mingw64/lib/python38.zip',
>     'D:/a/_temp/msys/msys64/mingw64/lib/python3.8',
>     'D:/a/_temp/msys/msys64/mingw64/lib/python3.8',
>     'D:/a/_temp/msys/msys64/mingw64/lib/lib-dynload',
>   ]
> Could not find platform independent libraries <prefix>
> Could not find platform dependent libraries <exec_prefix>
> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
> Fatal Python error: init_fs_encoding: failed to get the Python codec of
> the filesystem encoding
> Python runtime state: core initialized
> ModuleNotFoundError: No module named 'encodings'
>
> Current thread 0x00003154 (most recent call first):
> <no Python frame>
> warning: Fatal Python error:
> warning: failed to get the Python codec of the filesystem encoding
> warning:
> [Thread 16296.0x3e0c exited with code 1]
> [Thread 16296.0x2130 exited with code 1]
> [Thread 16296.0x41b0 exited with code 1]
> [Inferior 1 (process 16296) exited with code 01]
> (gdb)
>
> I've set the PYTHONHOME to /mingw64
>
> Now I can launch KiCad in gdb. However, it now gives many errors,
>
> Ex: can't open file
> I:\msys64\home\Pradeepa\kicad-source\build\debug\share\kicad\resources\images.tar.gz
>
> I feel that it's something to do with paths, however, it's hard to figure
> out without knowing how everything fits together.
>
> Can someone please give me a hand?
>
> Thanks!
> Best Regards,
> Pradeepa Senanayake.
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References