GDB Refuses to Acknowledge Globals Exist (Because Why Would Debugging Be Easy?)

Greetings,

We’ve successfully developed a custom VHDL processor (deployed in ASICs) with a fully ported GNU GCC and BinUtils toolchain. We’ve meticulously packaged everything into a custom PlatformIO platform, complete with deployment archives that seamlessly provision new development environments running VSCode/PlatformIO.

The build pipeline? Flawless. Linking? Perfect. Upload and debug initialization? Chef’s kiss. Single-stepping through code? Works like a dream.

Naturally, we have exactly two issues—because apparently 98% functionality is where technology draws the line.

Issue 1: GDB’s Selective Amnesia Regarding Global Variables

Our debugger (GDB 10.0.50) has developed a peculiar philosophical stance: global variables simply don’t deserve recognition. Local variables? Absolutely fine. Globals? GDB responds with:

Could not get global variable information: -var-update: Usage: [PRINT_VALUES] NAME. 
(from var-update --all-values var_global_.protected gdb_pres_var)

How refreshingly unhelpful.

Issue 2: The Case of the Missing Disassembly Window

While the disassembly view stubbornly refuses to populate within its designated VSCode window, it will graciously dump tabulated and MI JSON output in the console, you know, where nobody asked for it.

The Question:

How does one persuade VSCode/GDB to display global variables and disassembly in their respective windows, as nature intended?

Your guidance would be most appreciated.

Best regards

Gary

PS. Please forgive my sarcasm :rofl:

Given that these problems seem to origin from the PlatformIO VSCode extension and/or GDB, and given that we don’t have your platform and example code to reproduce these issues, I think the only sensible way to get a resolution on these issues is through https://github.com/platformio/platformio-vscode-ide/issues/ or https://platformio.org/support as a starting point.