Я пытаюсь играть с профилированием памяти (в первый раз, поэтому, пожалуйста, простите мое невежество), просто чтобы узнать, сколько памяти потребляется классами, объектами , переменные, методы и т.д. Я написал этот образец C# консольная программа под названием MemPlay.exe:Как найти память, потребляемую классами, объектами, переменными и т. Д.
using System;
using System.Text;
namespace MemPlay
{
class Program
{
static void Main(string[] args)
{
SomeClass myObject = new SomeClass();
StringNineMethod();
}
private static void StringNineMethod()
{
string someString0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string someString1 = string.Empty;
string someString2 = string.Empty;
for (int i = 0; i < 9999; i++) {
someString1 += "9";
someString2 += someString1;
}
}
}
class SomeClass
{
}
}
После того как программа бегала, я хочу узнать:
Сколько памяти потреблялось
- MemPlay.exe
- класс Программа
- SomeClass
- Основной метод
- MyObject
- StringNineMethod
- someString0
- someString1
- someString2
и сколько процессор был использован:
- MemPlay.exe
- Основной метод
- StringNineMethod
Я попытался с помощью инструмента VisualStudio в 'Performance Diagnostics', но все, что я вижу в том, какой объем памяти используется всей функции (т.е. Основной метод, StringNineMethod и String.Concat).
Есть ли способ/инструмент, который может помочь мне увидеть все детали о том, сколько памяти потребляет каждая переменная, объект, класс, метод? Заранее спасибо.
EDIT: Нет, мой вопрос не является дубликатом предложенного вопроса, так как этот вопрос пытается получить размеры объекта во время выполнения, я спрашиваю, как я могу получить эту информацию после окончания программы. Только то, что делает инструмент диагностики производительности Visual Studio, он дает эту информацию после завершения программы.
нет, нет никакого способа, чтобы увидеть подробности о том, сколько памяти потребляется каждый переменный, объект, класс. – dotctor
действительно? вы не имеете в виду получить эту информацию от VisualStudio Performance Diagnostics, или просто никак не от любого другого инструмента? –
Я думаю, что это совсем не так – dotctor