无法在 Visual Studio 调试器中编辑 std::atomic 值

Cannot edit an std::atomic value in Visual Studio debugger

这是我的测试程序:

#include <iostream>
#include <atomic>

std::atomic<int> Counter = 200;

int main()
{
    if(Counter > 0)
        std::cout << "Hello World!\n";
}

我正在为 if(Counter > 0) 设置一个断点,当它被击中时,我将 Counter 添加到手表 window:

如您所见,“编辑值”条目显示为灰色,无法在调试器中更改值。用 int Counter = 200; 替换变量定义使其在调试器中可编辑,但我丢失了我需要的相关内存排序语义。

有没有办法创建一个至少具有释放-消耗顺序的计数器,我可以通过调试器对其进行操作?

是的,将以下内容添加到您的手表中 window:Counter._Storage._Value