2015-06-16 5 views
0

Я работаю над консольным приложением C#. В основном он просто обслуживает мыло и слушает сообщения, поступающие в процесс. Однако, даже когда не принимаются мыльные сообщения, все 6 ядер на моем ноутбуке активно используются. Из кодового прохода я не вижу, что вызывает его.Определение использования большого количества процессоров в моем приложении консоли C#

Есть ли в Visual Studio инструменты для отладки, которые могут помочь определить, где находится процессор.

+1

Вам не нужны никакие инструменты для этого. Просто используйте Debug> Break All, независимо от того, что он останавливает, это тот, который сжигает ядро. –

+0

Предполагая, что у вас есть какой-то цикл прослушивания, пусть он немного спит между проверкой сокета. – TommyGunn32

ответ

2

Вы можете использовать Profiler, встроенный в Visual Studio.

Для Visual Studio 2013, выберите меню ПРОАНАЛИЗИРУЙТЕ/производительность и диагностика

Использование мастера производительности.

Он покажет вам горячие точки в вашем коде (где сжигается большинство циклов процессора).

Обратите внимание, что вам, возможно, потребуется запустить Visual Studio в качестве администратора для правильного профилирования.

Примечание:

Вы можете скачать автономные инструменты профилирования для VS 2010 от Microsoft. См. https://stackoverflow.com/a/11197203/141172

+0

Я думал, что у него один, но я не могу найти его, и у меня нет меню анализа. – Boardy

+0

Какое издание VS вы используете? –

+0

Visual Studio 2010 Professional – Boardy

Смежные вопросы