C++ 连接到C++/CLI dll不';t达到本机C++;代码

C++ 连接到C++/CLI dll不';t达到本机C++;代码,c++,visual-studio-2017,c++-cli,profiler,C++,Visual Studio 2017,C++ Cli,Profiler,设置: 在C#程序中,我从.NET C++/CLI dll调用函数。 此DLL与本地C++库具有静态链接。Visual Studio 2017是环境保护项目 设置: 两个项目都设置了调试信息格式“程序数据库(/Zi)” dll项目已设置生成调试信息“生成调试信息(/Debug)” 我还为dll设置了配置文件“Yes(/Profile)”。不知道它是干什么的 将生成.pdb文件,将其放置在二进制文件的文件夹中,并在附加Visual Studio 2017 Performance Profile

设置:

在C#程序中,我从.NET C++/CLI dll调用函数。 此DLL与本地C++库具有静态链接。Visual Studio 2017是环境保护项目

设置:

  • 两个项目都设置了调试信息格式“程序数据库(/Zi)”
  • dll项目已设置生成调试信息“生成调试信息(/Debug)”
  • 我还为dll设置了配置文件“Yes(/Profile)”。不知道它是干什么的
将生成.pdb文件,将其放置在二进制文件的文件夹中,并在附加Visual Studio 2017 Performance Profiler启动程序时加载

  • 我在dll中看到一些顶级调用,但它似乎不完整,而且 没有达到本机C++代码。<李> 我可以进入本机C++代码 使用调试器
  • 调试器工具“Very Sleepy”提供了正确的 输出
一位同事说,幽灵修复加上我使用Win7的事实,导致了这个问题。()

我不确定我的问题是否与此有关。。。?我忘了一些设置了吗?

“采样”模式评测在幽灵修复(您在链接中发现)后在Win7中不起作用。我碰巧有一台带vs2017的win10机器,我正在这台机器上开发一个C++/CLI dll(大部分是本机代码)。在win10机器上,当我使用CPU采样(启动使用我的C++/CLI dll的C#exe)时,我会获取exe的采样数据,以及某种程度上的低级别调用(如malloc)的采样数据,但不会获取任何本机代码的采样数据。我相信这一点曾经奏效(也就是说,我能够为我的本机代码获取采样数据)。我可以使用发布模式构建进行本机代码调试

一、 同样,想知道这是否是一个已知的问题,或者我只是错过了某个设置。我会继续努力让这项工作或得到解释,如果我找到了,我会发回这里。

在“Performance Explorer”中,“目标”下列出了所有三个项目吗?然后右键单击每一个并确保选中“采集样本”。