Re: [Kicad-developers] Help needed to configure gdb

2021-07-08 Thread Pradeepa Senanayake
Thanks Mikołaj! It works!

For anyone who might come across this thread, following gdb usage works.

>>> Build and install the debug build of kicad

>>> From windows command prompt execute:

$: I:\msys64\mingw64\bin\gdb.exe kicad

>>> Then, from the gdb shell add the breakpoint in the required line.
Answer 'y' to Make breakpoint pending on future 

(gdb) break
I:/msys64/home/Pradeepa/kicad-source/pcbnew/dialogs/dialog_copper_zones.cpp:155
No source file named
I:/msys64/home/Pradeepa/kicad-source/pcbnew/dialogs/dialog_copper_zones.cpp.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2
(I:/msys64/home/Pradeepa/kicad-source/pcbnew/dialogs/dialog_copper_zones.cpp:155)
pending.

>>> Run the program using the following command

(gdb) run

Now your breakpoint is active and will get triggered accordingly.

Cheers!
Best Regards,
Pradeepa Senanayake.


On Thu, Jul 8, 2021 at 4:47 AM Mikołaj Wielgus 
wrote:

> KiCad loads symbols dynamically on runtime. So Gdb may not see them until
> KiCad starts running.
>
> Setting breakpoints works for me if I reply "y" to the "Make breakpoint
> pending on future shared library load? (y or [n])" prompt when the source
> file is not found. Gdb should also be able to find the source file if you
> set the breakpoint after running then interrupting KiCad.
>
> Best,
> Mikołaj
>
>
> On Wed, Jul 7, 2021 at 3:49 PM pradeepa.kck 
> wrote:
>
>> Thanks Jon. I tried that and in that case gdb launched kicad, but it
>> couldn't find the source file to set a breakpoint.
>>
>> If someone can give me an example of setting the breakpoint that would be
>> great. I tried relative path and full path, but still couldn't set the
>> breakpoint in copper_zone_dialog.cpp.
>>
>> - Pradeepa
>>
>> Sent on the go with Vodafone
>>
>>
>> ---- Original message ----
>> From: Jon Evans 
>> Date: 7/7/21 11:28 pm (GMT+10:00)
>> To: Pradeepa Senanayake 
>> Cc: KiCad Developers 
>> Subject: Re: [Kicad-developers] 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@gmail.com> 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/l

Re: [Kicad-developers] Help needed to configure gdb

2021-07-07 Thread Mikołaj Wielgus
KiCad loads symbols dynamically on runtime. So Gdb may not see them until
KiCad starts running.

Setting breakpoints works for me if I reply "y" to the "Make breakpoint
pending on future shared library load? (y or [n])" prompt when the source
file is not found. Gdb should also be able to find the source file if you
set the breakpoint after running then interrupting KiCad.

Best,
Mikołaj


On Wed, Jul 7, 2021 at 3:49 PM pradeepa.kck  wrote:

> Thanks Jon. I tried that and in that case gdb launched kicad, but it
> couldn't find the source file to set a breakpoint.
>
> If someone can give me an example of setting the breakpoint that would be
> great. I tried relative path and full path, but still couldn't set the
> breakpoint in copper_zone_dialog.cpp.
>
> - Pradeepa
>
> Sent on the go with Vodafone
>
>
>  Original message 
> From: Jon Evans 
> Date: 7/7/21 11:28 pm (GMT+10:00)
> To: Pradeepa Senanayake 
> Cc: KiCad Developers 
> Subject: Re: [Kicad-developers] 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 
> 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 
>> Could not find platform dependent libraries 
>> Consider setting $PYTHONHOME to [:]
>> 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 0x3154 (most recent call first):
>> 
>> 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 everyt

Re: [Kicad-developers] Help needed to configure gdb

2021-07-07 Thread pradeepa.kck
Thanks Jon. I tried that and in that case gdb launched kicad, but it couldn't 
find the source file to set a breakpoint. If someone can give me an example of 
setting the breakpoint that would be great. I tried relative path and full 
path, but still couldn't set the breakpoint in copper_zone_dialog.cpp.- 
Pradeepa Sent on the go with Vodafone
 Original message From: Jon Evans  Date: 
7/7/21  11:28 pm  (GMT+10:00) To: Pradeepa Senanayake  
Cc: KiCad Developers  Subject: Re: 
[Kicad-developers] 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 
variableKICAD_RUN_FROM_BUILD_DIR=1Alternatively, 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.-JonOn Wed, Jul 7, 2021 at 9:24 AM Pradeepa Senanayake 
 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 commandscmake 
-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) runStarting 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 Could not find platform dependent libraries 
Consider setting $PYTHONHOME to [:]Fatal 
Python error: init_fs_encoding: failed to get the Python codec of the 
filesystem encodingPython runtime state: core initializedModuleNotFoundError: 
No module named 'encodings'Current thread 0x3154 (most recent call 
first):warning: Fatal Python error:warning: failed to get the 
Python codec of the filesystem encodingwarning:[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 /mingw64Now 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.gzI
 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@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Help needed to configure gdb

2021-07-07 Thread Jon Evans
 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 
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 
> Could not find platform dependent libraries 
> Consider setting $PYTHONHOME to [:]
> 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 0x3154 (most recent call first):
> 
> 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@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp