March 27, 2023
https://issues.dlang.org/show_bug.cgi?id=23811

          Issue ID: 23811
           Summary: Compiler doesn't emit global variables
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: blocker
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: ryuukk.dev@gmail.com

Take this example:


OS: Windows x64
Debugger: Visual Studio Code


```
module debugme;

struct NoticeMe
{
    int value_int;
}


NoticeMe notice_me_global;


void break_me()
{
    NoticeMe i_am_local;
}

void main()
{}
```

Break at: i_am_local, and try to inspect notice_me_global


notice_me_global  // doesn't work
debugme.notice_me_global //doesn't work
debugme:notice_me_global //doesn't work
debugme::notice_me_global //doesn't work
debugme@notice_me_global // doesn't work

Expected:

I should be able to inspect and watch globals

Notes:

- it works with visual studio when you have the visual d plugin
- it doesn't work on visual studio code debugger (wich uses msvc)
- it doesn't work with remedybg (https://remedybg.handmade.network/)


Notes 2:

D should provide great experience on popular editors/tools, otherwise what to tell to people?

Notes 3:

It works great out of the box with: c/c++/rust/zig/odin/jai

Notes 4:

I tried to raise awareness and ask questions on IRC/Forum, i was left blind, not a good outlook

Notes 5:

Making D great to use is my goal, just a reminder, in case people see me as a "complainer"

Notes 6:

People are too kind, they see X not working, they'll move on and choose Y instead, X team won't understand why people leave

--