Thanks Walter

I realized that I had multiple gnuradio versions installed even though I
thought I checked that. I completely wiped all my gnu radio files, pulled
in the latest version 3.10.10.0 and built using the
-DCMAKE_BUILD_TYPE=Debug, and now I can successfully debug the existing DTV
code. The python code must have been importing a module from gnuradio in
another directory, which caused it to not recognized any of my edits or
breakpoints in the file I was working on.

Matt

On Tue, Apr 23, 2024 at 7:41 PM walter <wal...@hacktuary.ai> wrote:

> Hi Matt,
>
> I'm not sure if this is an apples-to-apples situation, but your issue
> sounds exactly like something I've run into while abusing Python snippets.
> It was easy to avoid after understanding order-of-events for block
> creation.
>
> I suspect this is language-independent, and you can quickly create a
> python flowgraph / review the code - it will illustrate the principles:
>
> 1. Create a python flowgraph 'FOO.grc' with minimal blocks (e.g. [signal
> source] --> [throttle2] --> [null sink]).
>
> 2. Add four [Python Snippet] blocks - one for each type of [Section of
> Flowgraph] param: 'Init - Before Blocks', 'Main - After Start', etc.
>
> 3. For each Python Snippet block, add a one-line snippet distinct to the
> [Section of Flowgraph], for example:
>
> print("Hello IAMA Init - Before Blocks")
> # NOTE: it's important to have a least one line of code or nothing will be
> generated for the snippet!
>
> 4. Set the Title param of the [Options] block (top block) to "FOO".
>
> 5. Press [F5] to generate the flowgraph code, which will be called FOO.py
> (in same directory as FOO.grc).
>
> 6. Examine the resulting FOO.py script in VSCode - in particular, where
> each of the snippets are invoked.
>
> The most obvious example is that in 'Init - Before Block' it's possible to
> reference a block or variable self.X before self.X has been instantiated.
>
> More subtle cases are possible, depending on how clever one tries to be
> when using this mechanism.
>
> - W
>
> Attached: screencap of example error (take my word that the block 'radio'
> exists).  I can send a shot of the flowgraph, but it probably wouldn't shed
> further light.
>
> [image: flowgraph_has_no_attr_radio.png]
>
>
> On Apr 23, 2024, at 13:46, Matt Clemons <mattclem...@gmail.com> wrote:
>
> Hello,
>
> I've walked through tutorials and successfully set breakpoints and
> debugged OOT modules in Gnu Radio using the DCMAKE_BUILD_TYPE=Debug option.
> However, I'm trying to debug local changes I've made to existing
> gnuradio/dtv/ files and not having success.
>
> I've followed the steps in a similar question/email chain here:
> https://lists.gnu.org/archive/html/discuss-gnuradio/2021-08/msg00008.html
> (I wasn't sure if replying to this old chain with a question or referencing
> it was better, let me know if there is a preference for future scenerios).
>
> I also tried recompiling all of the gnu radio source code on my machine
> with the  DCMAKE_BUILD_TYPE=Debug option and still can not get VScode to
> stop on my set breakpoint within the
> dtv/dvbt_demod_reference_signals_impl.cc file. The flowchart runs, and
> completes but when I hover over the break point it just says "Module
> containing this breakpoint has not yet loaded or the address could not be
> obtained".
>
> Any suggestions? I don't like the option of copying this into an OOT
> module just to debug. I'm not sure I understand the difference either.
>
> Thanks,
>
> Matt
>
>
>

Reply via email to