У меня есть класс Test, определенный в его собственном заголовке test.h, который включен в файл main.cpp.В основном это так:
test.h
class Test
{
...
...
...
public:
long foo;
};
test.cpp
// Constructor
Test::Test()
{
foo = 0
}
void Test::someMethod()
{
// Here foo variable is changed
}
main.cpp
#include "test.h"
using namespace std;
int main()
{
Test testObject;
...
// Do something with testObject
...
return 0;
}
Во время отладки в Visual Studio 2017, если я остановлю выполнение внутри основного кода, я не смогу увидеть фактическое значение foo, я вижу его значение инициализации:
testObject.foo --> 0
Почему это происходит?Если я остановлю выполнение внутри класса, я увижу его фактическое значение.
EDIT
Я обнаружил проблему.В main () я добавил отдельный поток, который запускает Test :: someMethod ().Когда я останавливаю выполнение внутри main, я не вижу переменную локального потока testObject.
Есть ли способ увидеть локальные переменные потока?