2013-02-19 4 views
2

Есть ли инструменты для профилирования памяти приложений, которые состоят из C# и Delphi частей?Профилирование памяти приложения C# с помощью COM

Эти две части не могут быть запущены отдельно - одно приложение. C# и Delphi общаются через COM друг с другом.

Update Я попытался dotTrace Memory 3.5 - приложение разбился с Exception в clr.dll. я могу запустить приложение с помощью профилировщика - выбор Mark Memory - авария произойдет, если я хочу, чтобы получить снимок.

+1

Что именно вы ищете? Как будет выглядеть правильное решение? Например, на стороне Delphi, что вы ищете: графика распределения и освобождения памяти от времени? Сообщения о утечке памяти? Как насчет стороны .net? –

+0

http://stackoverflow.com/q/291631/62576 и http://stackoverflow.com/q/10644/62576 –

+0

@CosminPrund - исправить любое решение, с помощью которого я могу профилировать память моего приложения. «Гафики распределения и освобождения» будут в порядке. – MikroDel

ответ

4

Я предполагаю, что вы их компилируете отдельно, а это значит, что они могут быть профилированы отдельно. В зависимости от вашей версии delphi, AQTime поставляется с ней для валового профилирования из отладчика.

Я не могу помочь с частью C#, но я предполагаю, что существуют профайлеры, возможно, в собственной цепочке инструментов Microsoft, которая также может быть запущена из среды IDE.

+1

+1 - они могут подключаться к одному приложению через COM, но у них все еще есть разные системы управления памятью, поэтому необходимо профилировать отдельно – Justin

+0

@Justin - «они могут передавать одно приложение через COM», это правда. «у них все еще есть разные системы управления памятью, поэтому нужно отдельно профилировать». Как я могу профилировать часть C# отдельно, если я не могу запустить ее отдельно? – MikroDel

+0

@ Грегор Брандт - тот же комментарий, что и для Джастина) - Как я могу профилировать часть C# отдельно, если я не могу запустить ее отдельно? – MikroDel

1

dotTrace Memory или Scitech Profiler для .NET и AQTime или FastMM для Delphi, просто используйте их вместе. Я не знаю никакого интегрированного решения.

+0

благодарит вас за ответ. Я знаю, что есть некоторые профили памяти для Delphi и C#, которые можно найти в Google. Мой вопрос не касался того, какой продукт существует для каждого языка программирования, но как использовать его в моей ситуации. – MikroDel

+0

Я не понимаю проблемы. Вы просто используете FastMM, включите его в свой проект Delphi, включите необходимые параметры для профилирования памяти. Затем запустите dotTrace Memory и выберите основной исполняемый файл для профиля (например, если ваша часть C# является dll, затем выберите файл Delphi .exe). Затем вы получите два отчета от двух профилографов. –

+0

дать вам +1 за попытку помочь мне) – MikroDel

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