Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C MSVS调试器中的Win64线程是什么?_C_Windows_Multithreading_Visual Studio - Fatal编程技术网

C MSVS调试器中的Win64线程是什么?

C MSVS调试器中的Win64线程是什么?,c,windows,multithreading,visual-studio,C,Windows,Multithreading,Visual Studio,一段时间以来,我一直注意到VisualStudio(2010)中用于切换线程的组合框中名为“Win64线程”的条目。它们是什么?我做多线程,但我不认为我是创建这些线程的人。在我看来,Process Explorer显示了正确的线程句柄数,即组合框中的所有条目数减去名为Win64 thread的条目数。发生了什么事?问得好。我冒昧猜测,您正在运行一个32位应用程序,而这些是WOW64系统使用的64位线程。@HarryJohnston不幸的是,不是。在本例中,应用程序是x64。如果我为x86编译项目

一段时间以来,我一直注意到VisualStudio(2010)中用于切换线程的组合框中名为“Win64线程”的条目。它们是什么?我做多线程,但我不认为我是创建这些线程的人。在我看来,Process Explorer显示了正确的线程句柄数,即组合框中的所有条目数减去名为Win64 thread的条目数。发生了什么事?

问得好。我冒昧猜测,您正在运行一个32位应用程序,而这些是WOW64系统使用的64位线程。@HarryJohnston不幸的是,不是。在本例中,应用程序是x64。如果我为x86编译项目,则条目名为Win32 Thread。我假设您怀疑调试器可能会为我的线程创建更多句柄。这是一个很好的猜测。所以我在Process Explorer中找到了这些句柄。在devenv.exe中(它们有不同的堆栈,因此可能与我的线程无关)。不知道为什么他们会把它们作为一个选项放在那里,因为你不能以任何方式真正使用它,但是pfffft。。我不在乎,不,是你做的-自己回答吧。线程句柄不会显示在线程窗口中。只有实际的线程才是。@usr你是对的,我的错。我刚才说的数字实际上是线程ID,但问题和解释仍然是一样的。我没有创建这些线程,ProcExplorer只显示我实际创建的线程。(+线程ID作为对象名称的一部分,这就是我将其混淆的原因)