2014-10-03 5 views
6

से चलते समय भी पर्यावरण चर सक्षम नहीं थे" मैं विजुअल स्टूडियो 2013 से सी # प्रोग्राम का प्रोफाइल कर रहा हूं। मैं विज़ार्ड शुरू करने के लिए विश्लेषण -> प्रदर्शन और डायग्नोस्टिक्स का विश्लेषण करता हूं। यह मुझे प्रोफाइलिंग विधि का विकल्प देता है। यदि मैं डिफ़ॉल्ट, सीपीयू नमूना चुनता हूं, फिर प्रोफाइलिंग प्रोफाइल करता हूं और मैं परिणाम देख सकता हूं।वीएस2013: "वीएसपी 2340: आईडीई

VSP2340: Environment variables were not properly set during profiling run and managed 
symbols may not resolve. Please use vsperfclrenv before profiling 

सभी प्रलेखन मैं ऑनलाइन देखा है पता चलता है कि: लेकिन अगर मैं तीसरा विकल्प, .नेट स्मृति आवंटन चुनें और फिर बाद अपने आवेदन समाप्त हो गया है मैं खाली परिणाम और दृश्य स्टूडियो उत्पादन विंडो में यह त्रुटि दिखाई vsperfclrenv स्टैंड-अलोन प्रोफाइलर के साथ उपयोग के लिए है और जब आप विजुअल स्टूडियो से सीधे प्रोफाइलर चलाते हैं तो इसकी आवश्यकता नहीं होती है। हालांकि, सुरक्षा के पक्ष मैं एक कमांड प्रॉम्प्ट विंडो से आवश्यक वातावरण चर करना और फिर उस खिड़की से सीधे आईडीई चला कर देखा था पर होने की, तो यह पर्यावरण को चुनता है:

C: 
cd "\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performance Tools\x64" 
vsperfclrenv /samplegclife /tracegclife /globalsamplegclife /globaltracegclife 
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" 

तो मैं के लिए चला गया पहले के रूप में विजुअल स्टूडियो के अंदर प्रदर्शन विज़ार्ड। लेकिन परिणाम वही है; मैं अभी भी परिणामों का विश्लेषण करने की कोशिश कर VSP2340 देखता हूं। मैं क्या गलत कर रहा हूं?

मुझे लगता है कि जादूगर के पास चार प्रकार की प्रोफाइलिंग है: सीपीयू नमूनाकरण, उपकरण, स्मृति आवंटन, और संसाधन विवाद। यह vsperfclrenv द्वारा प्रदान किए गए विकल्पों के साथ काफी मेल नहीं खाता है, जो केवल नमूनाकरण और ट्रेस प्रोफाइलिंग के बारे में बात करता है (प्रत्येक के आवेदन बनाम सेवा प्रकारों के साथ; मेरा प्रोग्राम एक एप्लिकेशन नहीं है, लेकिन मैंने सभी विकल्पों को सुनिश्चित करने के लिए सक्षम किया है) ।

क्या स्मृति आवंटन प्रोफाइलिंग के लिए कुछ अतिरिक्त पर्यावरण चर आवश्यक हो सकता है? या विजुअल स्टूडियो संदेश vsperfclrenv भ्रामक है?

+0

की एक लंबी सूची मिल आप एक खोल पुनः आरंभ किया था?आपको कम से कम प्रोसेस मैनेजर, क्लोज़ प्रोसेस मैनेजर से 'एक्सप्लोरर' को मारना चाहिए, इसे फिर से खोलें (ctrl + shift + escape से), इसलिए यह evnVars को पुनः लोड करेगा, और एक्सप्लोरर शुरू करेगा। अगर यह बहुत जटिल लगता है तो बस पीसी को पुनरारंभ करें। और व्यवस्थापक के रूप में 'vsperfclrenv' चलाने की कोशिश करें। और विजुअल स्टूडियो इंस्टॉलेशन की मरम्मत –

+0

वैकल्पिक रूप से आप JetBrains, RedGate, या SciTech मेमोरी प्रोफाइलर (सबसे उन्नत जब यह अप्रबंधित स्मृति की बात आती है) को आजमा सकते हैं –

उत्तर

0

क्या आपने विजुअल स्टूडियो कमांड प्रॉम्प्ट (व्यवस्थापक के रूप में) चलाने और कमांड vsperfclrenv/globalsampleon चलाने की कोशिश की है? थैड के बाद आपको रीबूट करने की आवश्यकता हो सकती है।

1

यह प्रशासनिक विशेषाधिकारों से संबंधित हो सकता है। मेरे मामले में, मुझे दो वर्कअराउंड्स के बारे में पता है:

  1. वास्तविक व्यवस्थापक विशेषाधिकार वाले उपयोगकर्ता के रूप में विजुअल स्टूडियो चलाएं।
  2. [स्टार्ट -> माइक्रोसॉफ्ट विजुअल स्टूडियो 2012 -> विजुअल स्टूडियो टूल्स ->] वीएस2012 के लिए डेवलपर कमांड प्रॉम्प्ट का उपयोग करें -> व्यवस्थापक के रूप में चलाएं। कमांड प्रॉम्प्ट में, vsperfclrenv /samplegclife। विंडो शीर्षक Administrator: Developer Command Prompt for VS2012 से Administrator: VSPerf Sampling Attaching and Allocation Profiling with objects lifetime 'ON' में बदलता है। फिर "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"

दूसरा दृष्टिकोण सिर्फ दिखता मूल पोस्टर, किया एक साधारण cmd.exe विंडो के स्थान पर सिवाय इसके कि, मैं डेवलपर कमांड प्रॉम्प्ट के साथ व्यवस्थापक रूप रन का इस्तेमाल किया। मेरे लिए, जब मैं व्यवस्थापक के रूप में नहीं चलाता, तो मुझे VSP2340 त्रुटि मिलती है।

मुझे थोड़ा अलग वातावरण के साथ बहुत ही समान लक्षणों का सामना करना पड़ रहा है: विंडोज 7, सामान्य उपयोगकर्ता (स्थानीय प्रशासक समूह में नहीं) के रूप में, स्टार्ट मेनू से विजुअल स्टूडियो 2012 शुरू करना, एवेक्टो डिफेंडपॉइंट के साथ उच्च विशेषाधिकार प्रदान करने के लिए विजुअल स्टूडियो निष्पादन योग्य, सीपीयू प्रोफाइलिंग ने सामान्य परिणाम दिए लेकिन .NET मेमोरी आवंटन नमूना परिणाम खाली थे। आउटपुट खिड़की ने कहा:

Profiling started. 
Profiling process ID #### (xxxx). 
Process ID #### has exited. 
Data written to C:\path\to\solution\xxxxyymmdd.vsp. 
Profiling finished. 
VSP2340: Environment variables were not properly set during profiling run and 
    managed symbols may not resolve. Please use vsperfclrenv before profiling. 
Profiling complete. 

रूपरेखा चलाता है, VSP2340 के बजाय सीपीयू के लिए, मैं Loaded symbols for [full/path/to/dll]

+0

धन्यवाद। उस समय मैंने त्रुटि को मारा, मैं स्थानीय व्यवस्थापक अधिकारों वाले उपयोगकर्ता के रूप में चल रहा था। लेकिन मैं अगली बार इस कदम को शामिल करना सुनिश्चित कर दूंगा। –

+0

जब मेरे पास स्थानीय प्रशासन अधिकार थे, मुझे कुछ विशेष करने की ज़रूरत नहीं थी (न ही मुझे आपका प्रश्न मिलेगा!) इस मामले में (व्यवस्थापक अधिकार हैं और अभी भी VSP2340 देख रहे हैं), मुझे संदेह है कि इस दृष्टिकोण (व्यवस्थापक के रूप में चलाएं) काम करेगा । –

संबंधित मुद्दे