2011-06-11 94 views
13

我試圖衡量在Visual Studio 2010測量的問題在Visual Studio C++項目的性能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有關,但我無法確定。

+0

呃,也許你的防病毒干擾? – 2011-06-11 16:53:22

+0

嗯。它可能是。我必須檢查... – 2011-06-11 16:54:23

+0

我在被忽略的文件上添加了防病毒位置。還是行不通。 – 2011-06-11 16:58:04

回答

0

使用process explorer的查找句柄功能(ctrl + F)來確定ProfilingTest.exe打開哪個進程。這會讓您進入故障排除過程的下一步。

+0

它不起作用。進程的開始和結束時間太短,無法觀察塊... – 2011-06-14 09:57:41

+0

以前沒有嘗試過,但procmon(也來自sysinternals)可能會實時給你相同的信息。 – pepsi 2011-06-14 14:50:33

10

從性能嚮導中選擇可執行文件作爲您的目標並將路徑指向可執行文件。這解決了我的問題。

+0

這是我最終做的(檢查我的最後評論我的問題)。因爲它看起來,我不是唯一遇到這個問題:) – 2011-08-04 04:51:02

+0

+1是的,這也適用於我。 – NTDLS 2013-02-21 15:34:06

0

另一種變通,我發現是做到以下幾點:

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" 

不知微軟在漂亮的人採取的這一通知..

問候。

相關問題