BartmanAbyss / vscode-amiga-debug

One-stop Visual Studio Code Extension to compile, debug and profile Amiga C/C++ programs compiled by the bundled gcc 12.2 with the bundled WinUAE/FS-UAE.
GNU General Public License v3.0
316 stars 39 forks source link

Display variable contents when exploring call stack #244

Open tehKaiN opened 10 months ago

tehKaiN commented 10 months ago

Currently, only variables on the top of the callstack are visible. When navigating nested calls, their values are not displayed.

This would be especially helpful for some asserts triggering within nested function calls.

tehKaiN commented 8 months ago

I think it might be related to -fomit-frame-pointer option, because according to docs it affects stack frames etc. Skipping it however makes my codebase unstable, especially static inline fns found in header files. Removing those keywords doesn't help, so I guess having .h is more of a culprit. I'll try investigating it a bit more, but here's what I get atm:

[build] during RTL pass: dwarf2
[build] In file included from C:\prg\_git\aminer\deps\ACE\include/ace/utils/custom.h:12,
[build]                  from C:\prg\_git\aminer\deps\ACE\include/ace/managers/timer.h:20,
[build]                  from C:\prg\_git\aminer\deps\ACE\include/ace/managers/log.h:15,
[build]                  from C:\prg\_git\aminer\deps\ACE\include/ace/managers/blit.h:31,
[build]                  from C:\prg\_git\aminer\deps\ACE\src\ace\managers\blit.c:5:
[build] C:\prg\_git\aminer\deps\ACE\include/ace/macros.h: In function 'ror16':
[build] C:\prg\_git\aminer\deps\ACE\include/ace/macros.h:42:1: internal compiler error: in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.cc:1339
[build]    42 | }
[build]       | ^
[build] libbacktrace could not find executable to open
[build] Please submit a full bug report, with preprocessed source (by using -freport-bug).
[build] See <https://gcc.gnu.org/bugs/> for instructions.

that only occurs in debug builds and not release/rel-with-debug. Funny thing is, the rel-with-debug freezes uae whenever the breakpoint is meant to be triggered, but the editor doesn't show anything and pause button doesn't help with it either.