On Kubuntu Linux, the Terminal pane is not getting stdout messages.
The Debugger pane will write them out only if stdout.flush().
This works on Fedora 43 Linux.

Console messages:
```
Warning: 'set target-async', an alias for the command 'set mi-async', is deprecated.
Use 'set mi-async'.

Running executable

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.ubuntu.com>
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, D main () at source/app.d:9
9               writeln(top.id);     stdout.flush;
0
1
2
[Inferior 1 (process 40334) exited normally]

```

source/app.d
```
import std.stdio : writeln, stdout;

void main()
{
        auto top    = Point(7, 0);
        auto middle = Point(8, 0);
        auto bottom = Point(9, 0);

        writeln(top.id);     stdout.flush;
        writeln(middle.id);  stdout.flush;
        writeln(bottom.id);  stdout.flush;
}

struct Point
{
        size_t id;              // Object id
        int    line;
        int    column;

        // The id to be used for the next object
        static size_t nextId;

        this(int line, int column)
        {
                this.line   = line;
                this.column = column;
                this.id     = makeNewId();
        }

        static size_t makeNewId()
        {
                immutable newId = nextId;

                ++nextId;

                return newId;
        }
}
```

launch.json
```
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "code-d",
            "request": "launch",
            "dubBuild": true,
            "name": "Build & Debug DUB project",
            "cwd": "${command:dubWorkingDirectory}",
            "program": "${command:dubTarget}"
        }
    ]
}
```

Any suggestions?

Reply via email to