C ++で記述されたWindows(Metro)ストアアプリで複数のスレッド間のデッドロックをデバッグしようとしています。各スレッドにさまざまなポイントでIDを保存させて、他の各ブロックスレッドのスレッドを特定できると便利です。を待っています。
.NET for Windowsストアアプリの概要では、System名前空間でEnvironment::CurrentManagedThreadIdを使用してスレッドにアクセスするように指示されています。私は簡単に書くことができると思っていたでしょう:
int threadId = System::Environment::CurrentManagedThreadId;
しかし、Visual Studio 2012は、cppファイルをコンパイルしようとすると、「'System':はクラス名または名前空間名ではありません」と文句を言います。
システム名前空間を定義するヘッダーファイルがありませんか?System.EnvironmentまたはEnvironment.CurrentManagedThreadIdWebページにヘッダーファイルがリストされていません。
FWIW、Visual Studio 2012内のオブジェクトブラウザーにはSystem.Environmentオブジェクトが表示され、オブジェクトブラウザーにはCurrentManagedThreadIdプロパティが必要であることが示されます。