如何在 CMake 项目上运行 Visual Studio CPU 分析器?

Kaz*_*nov 11 c++ profiling cmake visual-studio-2022

我正在尝试使用 Visual Studio 2022 及其分析工具来分析使用 CMake 项目构建的 C++ 应用程序。

\n

我以 RelWithDebInfo 模式和 MSVC_x64_x64 工具集构建项目。

\n

我添加了这个片段:

\n
if (MSVC)\nset_target_properties(${BUILD_TARGET} PROPERTIES LINK_FLAGS "/PROFILE")\nendif()\n
Run Code Online (Sandbox Code Playgroud)\n

添加到我的 CMake 文件中,通过此添加,我可以选择“调试->性能分析器->目标:{我的 exe}+CPU 使用情况->运行”。

\n

然而,在我完成捕获分析数据后,我得到的信息是,我的程序 100% 的时间都花在函数“Idle”上:

\n
\xc2\xa0+\xc2\xa0Idle (PID: 0)    4767 (100,00%)  3335 (69,96%)   Idle\n\xc2\xa0-\xc2\xa0[System call]\n        ntoskrnl.dll!0xfffff806317fad1e 926 (19,43%)    926 (19,43%)    ntoskrnl\n
Run Code Online (Sandbox Code Playgroud)\n

没有关于我的代码的任何信息。我究竟做错了什么?

\n

或者是否无法使用 Visual Studio 调试 CMake 项目?

\n

@编辑

\n

看来是VS2022的一个bug。我下载了VS2019,运行得很好。

\n

@编辑

\n

该问题已经被报道过几次,似乎与 Windows 10 内核中的一些错误有关。解决方案已经实施,并将在下次更新中提供。

\n

小智 1

也许这对一些迷失的灵魂有用。

我正在使用远程 VS 工具调试项目并遇到类似的问题。可能不是同样的问题,但没有有关我的代码的信息,并且存在“空闲(PID:0)”。结果我必须以管理员身份运行cmd。服务器被强化到工具可以运行并执行某些操作的程度,但它不会执行它应该执行的所有操作。