You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2019 CPU性能分析器CMake项目显示[External code]求助

问题描述

本问题并非另一同类问题的重复:前者程序100%处于IDLE状态,且通过改用VS2019解决;而我已使用VS2019,当前问题是性能分析结果全部显示为[External code],完全无法获取项目自身的性能数据。

我尝试用Visual Studio性能分析器分析CMake项目的情况如下:

  • 构建环境为msvc_x64_x64,采用RelWithDebugInfo配置编译
  • 已按照MSVC文档要求为CMake添加/profile编译选项
  • 运行分析器时选择「启动项目」方式,而非指定二进制文件的硬编码路径

我怀疑分析器无法读取项目的调试符号,但RelWithDebugInfo编译模式理论上已包含足够的调试信息,应该能被分析器识别。

性能分析结果全为External code

配置文件

我的CMakeSettings.json配置如下:

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      "buildRoot": "${projectDir}\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": ""
    },
    {
      "name": "x64-Release",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "buildRoot": "${projectDir}\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "msvc_x64_x64" ]
    }
  ]
}
Ninja构建详细输出(省略头文件包含选项)
[1/3] C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo /TP -DLIBJPEG_STATIC -DLZMA_API_STATIC -DOPJ_STATIC ...[include flags]... /DWIN32 /D_WINDOWS /W3 /GR /EHsc  /MD /Zi /O2 /Ob1 /DNDEBUG -std:c++17 /showIncludes /Fooct-invivo-align\CMakeFiles\oct-invivo-align-test.dir\oct-invivo-align.cpp.obj /Fdoct-invivo-align\CMakeFiles\oct-invivo-align-test.dir\ /FS -c ..\..\oct-invivo-align\oct-invivo-align.cpp
[2/3] C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe  /nologo /TP -DLIBJPEG_STATIC -DLZMA_API_STATIC -DOPJ_STATIC ...[include flags]... /DWIN32 /D_WINDOWS /W3 /GR /EHsc  /MD /Zi /O2 /Ob1 /DNDEBUG -std:c++17 /showIncludes /Fooct-invivo-align\CMakeFiles\oct-invivo-align-test.dir\main.cpp.obj /Fdoct-invivo-align\CMakeFiles\oct-invivo-align-test.dir\ /FS -c ..\..\oct-invivo-align\main.cpp
[3/3] cmd.exe /C "cd . && "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=oct-invivo-align\CMakeFiles\oct-invivo-align-test.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe --manifests  -- C:\PROGRA~2\MICROS~2\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\oct-invivo-align-test.rsp  /out:oct-invivo-align\oct-invivo-align-test.exe /implib:oct-invivo-align\oct-invivo-align-test.lib /pdb:oct-invivo-align\oct-invivo-align-test.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console  && cd ."

内容的提问来源于stack exchange,提问作者user12734467

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:05:20