如何解决在Visual Studio 2010中测量C ++项目性能的问题
| 我正在尝试评估Visual Studio 2010中控制台应用程序项目的某些功能和方法的性能。 我将性能分析方法配置为检测。问题是性能监视器无法正常工作。我得到的消息是:Profiling started.
Instrumenting w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe in place
Info VSP3049: Small functions will be excluded from instrumentation.
Microsoft (R) VSInstr Post-Link Instrumentation 10.0.40219 x64
Copyright (C) Microsoft Corp. All rights reserved.
File to Process:
w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe --> w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe
Original file backed up to w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe.orig
Successfully instrumented file w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe.
The process cannot access the file \'w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe\' because it is being used by another process.
Data written to w:\\MyProject\\ProfilingTest\\ProfilingTest110611(17).vsp.
Profiling finished.
File contains no data buffers
File contains no data buffers
Analysis failed
The process cannot access the file \'w:\\MyProject\\ProfilingTest\\Build\\Debug\\ProfilingTest.exe\' because it is being used by another process.
Profiling complete.
我认为“万恶之源”是:
该进程无法访问文件\'... \',因为它正在被另一个进程使用。
有人试图剖析Visual Studio 2010中开发的本机应用程序并解决这些问题吗?
以后添加:
如果我不是直接选择要分析的项目,而是直接选择了构建的可执行文件,那么我成功进行了分析,而没有收到进程阻塞,甚至收到了文件分析。但是,监视应用程序在分析结束时崩溃。我怀疑与IDE有关,但我不确定。
解决方法
从性能向导中,选择可执行文件作为目标,并提供可执行文件的路径。这为我解决了问题。
, 使用进程浏览器的查找句柄功能(ctrl + F)来确定哪个进程已打开ProfilingTest.exe。这将使您进入故障排除过程的下一步。
, 我发现的另一个解决方法是执行以下操作:
1) Launch performance wizard
2) choose your project
3) un-check the box to automatically start your profiling
4) Choose \"New Performance Session\" and choose your project again (top button on Performance explorer window)
5) Select your performance session from \"Targets\" and choose \"Start Profiling\"
我想知道雷德蒙德的好心人是否注意到了这一点。
问候。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。