首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >附加在C++/CLI上的性能分析器没有到达本机C++代码

附加在C++/CLI上的性能分析器没有到达本机C++代码
EN

Stack Overflow用户
提问于 2018-02-22 11:05:19
回答 1查看 825关注 0票数 4

设置:

在C#程序中,我从.NET C++/CLI调用函数。此dll与本机C++库具有静态链接。Visual 2017是增强功能。

设置:

  • 这两个项目都设置了调试信息格式“程序数据库(/Zi)”。
  • dll项目具有Generate“(/DEBUG)”集。
  • 另外,我为dll设置了配置文件"Yes (/PROFILE)“。不知道它能做什么。

生成.pdb文件,放置在二进制文件的文件夹中,并在VisualStudio2017 Perfomance附带的程序启动时加载。

  • 我在dll中看到了一些toplevel调用,但是它似乎不完整,并且没有到达本机C++代码。
  • 我可以使用调试器进入本机C++代码。
  • 调试器工具“非常休眠”提供了正确的输出。

一位同事说,幽灵修复结合使用Win7的im这一事实引入了这个问题。(https://superuser.com/questions/1287914/visual-studio-2013-profiler-chrashes-and-system-restarts-reboots)

我不确定我的问题和这个有关.?我忘了什么背景了吗?

EN

回答 1

Stack Overflow用户

发布于 2018-02-26 19:18:26

“抽样”模式分析在Win7中不起作用(您在链接中发现了这一点)。我碰巧有一个带有win10的vs2017机器,我正在其上开发一个C++/CLI (在本机代码中有很大一部分)。在win10机器上,当我使用CPU采样(启动使用我的C++/CLI的C# exe )时,我得到了exe的采样数据,而且不知怎么的,对于低级调用(比如malloc),我得到的采样数据并不适用于我的任何本机代码。我确信这过去是可行的(也就是说,我能够为我的本机代码获取采样数据)。我可以使用发布模式构建进入本机代码调试。

我也在想,这是一个已知的问题,还是我只是在某个地方错过了一个设置。我将继续努力使这个工作或得到一个解释,如果我找到一个,我会张贴在这里。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48925852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档