farre / midas

A GDB/MI Visual Studio Code Debug Adapter
MIT License
30 stars 2 forks source link

Hovering over member variables does not show their values #185

Open sj-raima opened 11 months ago

sj-raima commented 11 months ago

Hovering over a member variable does not show its value when using Midas for RR.

The following example:

class a {
protected:
    int a_1;
};

class b : public a {
    int b_2;
public:
    void foo (int p_3)
    {
        int l_4 = 4;
        a_1 = 1;
        b_2 = 2;
    }
};

int main (int argc, const char *argv[])
{
    class b *r = new b;
    r->foo (3);
}

Setting a break point in foo and hovering over p_3 and l_4 show their respective values. However, hovering over a_1 and b_2 after they have been set does not show their values but instead their types.

Additional information:

midas v0.19.12

$ code --list-extensions
abdelmaged.process-matcher
bierner.markdown-mermaid
DamianKoper.gdb-debug
derivitec-ltd.cmake-test-adapter
eamodio.gitlens
Equinusocio.vsc-material-theme
equinusocio.vsc-material-theme-icons
farrese.midas
GitHub.copilot
GitHub.copilot-chat
hbenl.vscode-test-explorer
hediet.vscode-drawio
meronz.manpages
mhutchie.git-graph
ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes
ms-vscode.hexeditor
ms-vscode.powershell
ms-vscode.test-adapter-converter
nopeslide.vscode-drawio-plugin-mermaid
penagos.vgdb
PKief.material-icon-theme
streetsidesoftware.code-spell-checker
tuttieee.emacs-mcx
twxs.cmake
vadimcn.vscode-lldb
webfreak.debug

$ /opt/binutils-gdb/bin/gdb --version
GNU gdb (GDB) 14.1.90.20231220-git
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ /opt/binutils-gdb/bin/gdb --config
This GDB was configured as follows:
configure --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=/opt/binutils-gdb/share/gdb (relocatable)
--with-jit-reader-dir=/opt/binutils-gdb/lib/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--without-babeltrace
--without-intel-pt
--without-xxhash
--with-python=/usr
--with-python-libdir=/usr/lib
--without-debuginfod
--with-curses
--without-guile
--without-amd-dbgapi
--disable-source-highlight
--enable-threading
--enable-tui
--without-system-readline
--with-separate-debug-dir=/opt/binutils-gdb/lib/debug (relocatable)

("Relocatable" means the directory can be moved with the GDB installation
tree, and GDB will still find it.)

$ /opt/rr/bin/rr --version
rr version 5.7.0
eugene-sanscartier commented 2 months ago

Same bug in my case, member variables won't show their value on hovering but their type. I should mention that this is not the case while debugging with gdb. Also variables values are correctly displayed on watch and variable section of the RUN AND DEBUG tab in vscode.