Monday, August 31, 2020

Re: how to run gdb with gnuradio 3.8 ?

You can run the python interpreter under gdb, outside GRC, and that should capture library errors. Another stranger idea would be to change the "interpreter" under GRC options/advanced to run your program under GDB. I got this to work using something along the lines of:

  gdb {python} -ex "run -u {filename}"

but didn't figure out how to interact with GDB afterward if that were to be necessary.

On Mon, Aug 31, 2020 at 4:30 PM Tom McDermott <tom.n5eg@gmail.com> wrote:
I am trying to debug an OOT in gnuradio 3.8 using gdb.  It's a problem with double free()
that seems to have popped up with 3.8.2

I rebuilt my OOT with debug symbols.  WIthout gdb, it all runs, but of course tells me about the double free() when it shuts down.

1. I've altered the top_block.py to stop and wait after printing the process id before continuing,
then enter to continue.  This starts up the flowgraph GUI.

2. In a different terminal window:
$ sudo gdb -p the_process_id
This makes the gui disappear, and   'System Problem Detected' window appears asking
if I want to report the problem.

I still have the gdb window, but because I was not able to shut down my GUI, the
backtrace does not let me look at the shutdown error I am getting.

-- Tom, N5EG






No comments:

Post a Comment