Проблема с CLRProfiler

Я пытаюсь использовать Microsoft CLRProfiler для профилирования моего довольно большого приложения, и оно терпит крах, когда оно пытается записать (или прочитать) файл журнала. По иронии судьбы, точная ошибка задокументирована на сайте MS "Feedback" как не воспроизводимая и, похоже, никогда не была исправлена. Я получаю NullReferenceException в:

CLRProfiler.ReadNewLog.ReadFile(Int64 startFileOffset, Int64 endFileOffset, ReadLogResult readLogResult)
at CLRProfiler.MainForm.checkProcessTimer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

У кого-нибудь есть идеи, как я могу получить помощь или, в идеале, заставить эту чертову штуку правильно работать? Жалобы на помощь в MSDN были проигнорированы... Спасибо!

3 ответа

Решение

CLR Profiler довольно нестабилен, у меня также было много сбоев.

Один совет, который я слышал на PDC, - это использовать его только в качестве инструмента моментальных снимков: не собирайте информацию об использовании mem во время работы приложения, но остановите приложение в тот момент, когда вы знаете, что у вас уже есть проблема с mem, и сделайте снимок памяти.

Таким образом, он намного более стабилен, и обычно по справочному графику вы в любом случае можете выяснить, что является причиной утечки.

Я подозреваю, что это мертвый проспект. Возможно, попробуйте jetBrains dotTRACE; Вы можете получить бесплатную 10-дневную пробную версию, чтобы увидеть, подходит ли она.

Мы столкнулись с подобной проблемой при отладке сбойного мамонта на удаленном сервере Citrix, который CLRProfiler не смог проанализировать.

Мы смогли найти проблему с помощью WinDbg

Кроме того, это также может помочь CorDbg

Другие вопросы по тегам