Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Инструменты разработчика _ Удалённый запуск Valgrind из Windows

Автор: FireBlack 29.8.2014, 15:07

Доброго времени суток!

Подскажите, пожалуйста, как удалённо запустить Valgrind из windows для профилирования C++ приложения.

В интернете полно постов, где предлагают использовать аналоги, читать документацию, скомпилировать приложение под Linux или просто пишут что Valgrind не работает под windows'ом.
К сожалению, приложение не кроссплатформенное, поэтому его нельзя пересобрать под Linux. Править тонны исходного кода, заключая платформозависимый код в ifdef Q_OS_WIN...endif нет ни времени, ни желания.
Согласно http://qt-project.org/doc/qtcreator-3.2/creator-running-valgrind-remotely.html, данный профайлер можно запустить удалённо - через SSH. Именно с этим мне и нужна помощь, т.к. я не вижу полей для указания адреса, порта, логина и пароля.

Согласно той же http://qt-project.org/doc/qtcreator-2.5/creator-running-valgrind-remotely.html в ранних версиях QtCreator'а все эти поля присутствовали:


в последних же версиях, только это унылое окно:


Возможно нужно в поле Параметры->Анализатор->Программа Valgrind что то указывать.
Я указывал ip адрес Linux'овой машины, с установленным Valgrind'ом, и вместо тривиального "Ошибка: Не удалось запустить «valgrind»"
получал "Ошибка: Не удалось запустить «192.168.0.2»: Не задан файл закрытого ключа".

Может кто-то всё же сумел завести данную софтину под виндой?


Автор: Iron Bug 31.8.2014, 22:32

на сайте Valgrind чёрным по белому написаны поддерживаемые платформы:
http://valgrind.org/info/platforms.html
и венды там нет ни в одной архитектуре.

используй профайлеры, работающие под вендой.

Автор: FireBlack 1.9.2014, 5:31

Цитата(Iron Bug @ 31.8.2014, 22:32) *
на сайте Valgrind чёрным по белому написаны поддерживаемые платформы:
http://valgrind.org/info/platforms.html
и венды там нет ни в одной архитектуре.

используй профайлеры, работающие под вендой.

Ну вот, опять... Я прекрасно понимаю, что не смогу запустить сам Valgrind под виндой, поэтому и спрашиваю как запустить его удалённо через SSH? О том, что это возможно говорит http://qt-project.org/doc/qtcreator-3.2/creator-running-valgrind-remotely.html. Причем хотелось бы запустить прямо из QtCreator'а.

Автор: Iron Bug 1.9.2014, 21:52

Цитата(FireBlack @ 1.9.2014, 8:31) *
О том, что это возможно говорит http://qt-project.org/doc/qtcreator-3.2/creator-running-valgrind-remotely.html. Причем хотелось бы запустить прямо из QtCreator'а.

там лишь сказано про удалённую отладку. и нет ни слова при венду. запуская софтину на линюксе, ты там же можешь запустить Valgrind. других вариантов не бывает. но ты тут же написал, что тебе лень патчить софтину под линюкс. поэтому Valgrind ты не запустишь ни локально, ни удалённо.

Автор: FireBlack 2.9.2014, 5:38

Цитата(Iron Bug @ 1.9.2014, 22:52) *
там лишь сказано про удалённую отладку. и нет ни слова при венду.

Прошу прощения, вот http://qt-project.org/doc/qtcreator-3.1/creator-running-valgrind-remotely.html к документации предыдущей версии QtCreator'a. Где черным по белому сказано "These tools are supported locally only on Linux and Mac OS, but you can run them on a remote host from Windows. To run the Valgrind tools on a remote host over SSH:..." а дальше идет пресловутая, вышеупомянутая картинка без необходимых полей.

Возникает вопрос что это: новый баг в документации или запоздало исправленный баг в документации?! Если это последнее, то как-то странно что его исправили только спустя 6 (шесть!!!) версий QtCreator'a. И тогда получается что в версии QtCreator 2.5 данный функционал присутствовал, а после его убрали, забыв пофиксить документацию?! Я конечно понимаю, что каждый имеет право на ошибку, но не верю что всё Qt-сообщество не замечало так долго данный баг.

Автор: Iron Bug 18.9.2014, 21:13

вроде программист должен обладать логикой.
хорошо. попытаюсь объяснить для детсада.
1. Valgrind работает ТОЛЬКО под никсами. хоть удалённо, хоть не удалённо, но только так и никак иначе. потому что профилирование сильно зависит от средств системы и компилятора.
2. твой код под никсами НЕ работает из-за каких-то твоих личных проблем (хотя Qt специально создана с поддержкой кроссплатформы и это странно).
из п.1 и п 2 следует несовместимость условий. поэтому либо ты берёшь никсы, запускаешь свой код под ними и профилируешь хоть удалённо, хоть локально (это вообще неважно, ибо отличий тут принципиальных нет, Qt Creator - лишь оболочка для вывода результатов, а не профилирующая софтина). либо ищешь вендозные средства для профилирования и работаешь под вендой. разные системы - это не смена юзерского интерфейса, это что-то куда более серьёзное и кроссплатформенной отладки и профилирования в природе не существует.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)