[PD] debugging complex extern

IOhannes m zmölnig zmoelnig at iem.at
Wed Apr 11 20:21:13 CEST 2018


On 04/11/2018 07:03 PM, David Medine wrote:
> I am trying to debug an extern on linux using gdb and this tutorial
> <https://puredata.info/docs/developer/DebuggingPdExternals> (for MacOS
> and some years old) does not work on my machine. In fact, I've tried
> this a few times in the past with little success. The watchdog just
> hangs when I break and gdb and Pd can't do anything.
> 
> I remember Miller once suggesting that a way to run gdb on an extern is
> to build it into Pd with debugging symbols on. I am trying to do this,
> but having trouble there too. I added 'my_extern.c' to the src folder
> and to the list of .c files that comprise SRC in makefile.gnu. I also
> added -g to CFLAGS. Everything compiles and I see 'my_extern.o' in the
> obj folder, but the extern doesn't load when I create the object in Pd.
> 
> When I run pd from gdb, i can set a break point on my_extern_new, but
> when I create the object, I just get a ...cannot create message in the
> console and no debugging symbols. I feel like I'm missing a step somewhere.
> 

i never had problems with using gdb and "external" objects (that is:
objects, not copmiled into Pd).

i'm still using gdb, as i'm on linux. on macOS i hear that you should
use the llvm based debugger instead.

a few tricks:

- compile your external with "-g" (so it includes debugging symbols; i
still think that it is a shame that pd-lib-builder doesn't do that by
default; practically all my projects compile with "-g" all the time)
- make sure that you are running Pd with "-nrt" (so you don't have
"watchdog...signalling Pd" messages all over the place once the
execution is halted)
- run pd with "-stderr"
- before setting any breakpoints, do a "warm up" run: just run Pd
(inside the debugger) and load the external. after this, the debugger
should be able to resolve all the symbols.




gfmdsar
IOhannes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20180411/bdf8874e/attachment.sig>


More information about the Pd-list mailing list