Search code examples
pythondebuggingpycharmgnuradio

Using pycharm to debug a custom GNU Radio block work function written in python


I have found that the pycharm debugger will not stop at breakpoints set in work functions of custom python GR blocks. However, it will stop at breakpoints set in a block's constructor.

Is there a way to stop at breakpoints in a work function? I know that the function is being run because when I put print statements in the work function, I see the results of the print when the flowgraph is run.


Solution

  • That's to be expected: the work() is called from C++ context; your debugger simply doesn't "control" the execution.

    I'm sure it's possible to allow attaching breakpoints, but I don't know of a specific way. It would be relatively involved, because you need to instrument python in a GNU Radio-specific way, I guess.