Not a kernel guy

… in the Windows kernel team

Saturday, March 1, 2008

5 инструментов.

Моя очередь рассказывать про 5 инструментов, без которых я не могу работать продуктивно. Эстафетную палочку мне передали сразу двое участников: сначала Елена Сагалаева, затем Сергей Розовик. Получается, что у меня теперь ДВЕ эстафетные палочки. :-) Придется отработать вдвойне.

Debugging Tools for Windows: windbg.exe, cdb.exe, kd.exe, remote.exe, gflags.exe и так далее. Несмотря на то, что интерфейс WinDbg ужасен, а все остальные утилиты работают только в командной строке, нет лучшего отладчика для Windows.

Process Monitor: каждая из утилит от Sysinternals заслуживает отдельного внимания, но Process Monitor – это спасательный круг, шлюпка и вертолет с лебёдкой в одном флаконе. Эта утилита сэкономила мне, наверное, сотни часов сидения в отладчике.

Process Explorer: если Process Monitor сохраняет жизнь, то Process Explorer делает её приятной. Единственное чего мне там не хватает по сравнению, с Task Manager – это графика загрузки сетевых соединений.

Notepad2: один из многочисленных заменителей Notepad, написанный на базе Scintilla. Ничего особенного, просто привык. Я пользуюсь немного адаптированной под себя версией, которая находится в состоянии перманентной доработки.

cmd.exe: когда-то Far Manager был для меня единственной командной строкой и файловым менеджером. Да и код я раньше в нём писал. Теперь “голый” cmd.exe забрал себе все операции с командной строкой – так удобнее. Иногда это заходит насколько далеко, что я пытаюсь вставлять текст из буфера с помощью комбинации “Alt+Space, E, P” во всех других приложениях.

Far Manager: пока что сохраняет позиции файлового менеджера. «Руки-то помнят!» (с)

Компилятор С++ и библиотеки из Visual Studio/Windows SDK: совсем не пользуюсь IDE Visual Studio. Использую только компилятор и библиотеки. Даже в MSDN хожу online. Основная причина, по которой Visual Studio у меня все таки установлен, - это ATL. В Windows SDK ATL не входит.

Boost.Build: система для сборки проектов, используемая библиотеками Boost. Не слишком очевидная штука, но если разобраться, то пользоваться удобно. Все мои домашние проекты живут на Boost.Build.

Outlook: чтение/написание писем отнимают едва ли не половину рабочего времени. Outlook помогает в этом деле лучше всех (лучше Thunderbird или The Bat), хотя и он далек от идеала.

Firefox/Opera/IE: у меня нет любимого браузера. Я долгое время пользовался Opera и мне она очень нравилась за свою шустрость и простоту. Firefox оказался этаким Opera-подобным IE. Ну а без IE нормально не работает ни один сайт в интранете.

Мне, в свою очередь, интересно узнать чем пользуется:

Posted at 10:34 pm •

RSS feed | Trackback URI

20 Comments »

[...] from blog.not-a-kernel-guy.com. Filed under: [...]

 
Comment by Alex Ott — March 2, 2008 @ 2:03 am

А почему был выбран Boost.Build а не cmake? на мой взгляд в boost.build сложнее писать различные проверки наличия функций, библиотек и т.п.

Comment by Not a kernel guy — March 2, 2008 @ 2:13 pm

Вполне возможно. Просто попробовать все существующие системы сборок ни какого времени не хватит.

 
 
Comment by Alexey — March 2, 2008 @ 5:38 am

>что я пытаюсь вставлять текст из буфера с помощью комбинации “Alt+Space, E, P” во всех других приложениях.
А когда нибудь произойдёт чудо и можно будет вставлять в консоль без Alt+Space,E,P? Даже неважно какое сочетание клавиш, лишь бы в локализованных версиях оно же было.

Comment by Not a kernel guy — March 2, 2008 @ 2:17 pm

Судя по динамике развития cmd.exe за последние дцать лет - никогда. :-) Видимо нужно привыкать к Power Shell. Для неё есть GUI консоль.

Comment by Alexey — March 3, 2008 @ 1:04 am

Ну я уже чаще всего и пользуюсь powershell, вопрос был именно про консоль.
>есть GUI консоль
Это PowerGUI? Или что-то другое имелось ввиду?

Comment by Not a kernel guy — March 4, 2008 @ 8:33 pm

Я не знаю конкретного названия. Просто когда я с Power Shell рабирался, там большой акцент делался на то, что сделать GUI хост для Power Shell не проблема. Если ещё не сделали, то скоро сделают. PowerGUI звучит похоже, по крайней мере.

 
 
 
 
Comment by kirill — March 2, 2008 @ 6:42 am

>Ну а без IE нормально не работает ни один сайт в интранете
это - довольно спорное утверждение.

Comment by Not a kernel guy — March 2, 2008 @ 2:11 pm
 
 
Comment by alick — March 2, 2008 @ 12:13 pm

kirill, мне кажется, вы слово интранет прочитали не совсем правильно. Или поняли неверно.

 
Comment by Alex — March 2, 2008 @ 12:37 pm

А код в чем пишите?

Comment by Not a kernel guy — March 2, 2008 @ 2:18 pm

Notepad2: один из многочисленных заменителей Notepad, написанный на базе Scintilla. Ничего особенного, просто привык. Я пользуюсь немного адаптированной под себя версией, которая находится в состоянии перманентной доработки.

Comment by Alex — March 3, 2008 @ 1:29 am

Со студией исторически не сложилось?
Просто интересно, до этого думал что в МС все девелоперы поголовно ее используют.

Comment by Not a kernel guy — March 4, 2008 @ 8:28 pm

Некоторые используют Source Insight. Но у меня он не прижился из-за того, что не справлялся с большими проектами. Индексирование исходников шло очень медленно, плюс к тому же индекс часто слетал и его приходилось пересоздавать.

Студия же получается слишком тяжеловестной для простого редактора. А больше мне от неё не надо.

 
 
 
 
Comment by Nikita — March 3, 2008 @ 1:59 am

Попробуйте EditPlus - это многооконный текстовый редактор, пожалуй он получше Notepad2.

Comment by Not a kernel guy — March 4, 2008 @ 8:30 pm

Попробую как-нибудь под насторение.

 
 
Comment by kirill — March 4, 2008 @ 6:41 am

прошу прощения. я действительно неправильно прочитал.

 
Comment by Stoune — March 6, 2008 @ 3:28 am

Boost.Build ? а как же хвалёный msbuild :)

Не знаю как сейчас , но Notepad2 год назаж по мне очень бледно смотрелся по сравнению с Notepad++ та же Scintilla внутри, но есть очень много удобных плагинов, а без XMLTools вообще жить не могу, выдереть с отладчика студии 50К строку, удалить екранирующие символы, а потом разбить на строки з отступами, сохранило мен очень много нервных окончаний и часов.
В качестве cmd очень часто пользуюсь cygwin(только утилиты, без gcc) или pysh (IPython) правда пришлось добавить переменные окружения из vcvars.bat . Мне ls как то удобнее чем dir и на одну букву меньше :)).
А насчёт фара, проблемы с национальными символами и неудобная работа с длинными именами + почти полная остановка в развитии (far-unicode ещё не скоро наберёт обороты) принудили меня перейти на Total Commander (в которого тоже проблемы с национальными символами(украинским) в Vista, тяжёлое наследие Delphi).

Из утилит Русиновича вы забыли очень класную штуку DebugView, теперь не нужно запускать студию чтобы посмотреть отладочный вывод (кстати при отладке многопоточных приложений как по мне это единственный недорогой способ отловить проблему).

Аутглюком пользуюсь, но зависания при работе с IMAP и постоянные ругательства изза “Недопустымые единицы измерения”, “Шаблон Normal.dot был изменён” иногда вызывают желание разбить компъютер.
Браузер FireFox (люблю Opera, но очень больщим недостатком для меня является, отстутсвие del.icio.us подобного плагина, какие-то зачатки вроде бы в 9.5 появились(Widget неудобны) и отстутствие rich-text copy в буфер, копируется без форматирования, приходится печатать в pdf или xps и копировать оттуда).
Единственный сайт который требует IE и на для которого пригодится ним пользоватся єто секция ms office на microsoft.com и некоторые части live.com и popfly.ms , а так если сайт не может нормально отобразится в FireFox или Opera значит он потерял меня как посетителя.

Comment by Not a kernel guy — March 6, 2008 @ 8:18 am

Boost.Build ? а как же хвалёный msbuild

Понятия не имею. Не довелось пробовать.

Notepad2 год назаж по мне очень бледно смотрелся по сравнению с Notepad++

Он и сейчас бледно смотрится. :-)

Из утилит Русиновича вы забыли очень класную штуку DebugView

Я не забыл, я редко пользуюсь. С DebugView проблема в том, что большинство вещей, которые мне приходится отлаживать по умолчанию не выводят ничего интересного. Чтобы разрешить в них отладочный вывод, нужно либо добавить ключик в реестр с нужной маской или поправить маску непосредственно в данных процесса. Это можно сделать, но в большинстве случаев получается, что к моменту когда нужный ключ/имя переменной найдены, отладчик уже подключен к нужному процессу и DebugView остаётся не у дел.

 
 
Comment by Xermit — March 9, 2008 @ 11:28 am

В качестве редактора везде, где можно и где не можно (linux and windows) использую gvim + (ctags по необходимости), если при этом я в нем кодирую, то все зависит от того, что кодирую, если что-то не связанное с msvc то да, в качестве отладчика выступает потом какой нить gnu отладчик, к примеру gdb, если например это php код, то там xdebug (drupal поковырять).

Если проект каким либо образом связан с msvc (особенно с mfc, а в последнее время модно вообще на атл граф интерфейс делать, а на mfc забить как я понимаю), то тут все зависит от того на чем описан проект, если проект собирается через nmake в составе msvc, то нафига мне все эти gvim, gdb, make и так далее, весь проект делается в редактора msvc, отладчик msvc + devpartner analyze c++ (анализ производительности и утечек) и до кучи parasoft c++ test (соблюдение кода стайл и юнит тестирование) (все это очь дорого, особенно две последнии, в идеале) + visual assist (мелкие удобства и самое главное для меня встроенные немногочисленные к сожалению функции рефакторинга для с++).

Плюс клиент под windows для subversion.

В linux при падении какого нить процесса выяснил бы что выводит утилита strace и ptrace, особенно какие переменные среды они читают и файлы, много любопытного можно найти системному администратору и менеджеру безопасности.

В качестве email клиента thunderbird.

Помимо far использую total commander.

Power gui и другие пробовал в виндах, но им никогда не стать аналогом тех gui терминалов с закладками которые есть в linux. Не стать из-за архитектуры самой windows.

Не могу ничего сказать про boost.build, cmake и другие более знаменитые системы задания правил сборки проектов, лично для меня make(gnu make) вполне достаточен, особенно в lnux в сочетании с automake, autoconf, libtool, gettext.

Особенно мне нравится библиотека libglade + gtk + glade editor, точнее сама libglade за идею и реализацию.

Причем с помощью libglade + gtk можно писать приложения на php + php-gtk, правда только первой версии gtk, жаль что тот проект там застрял кажется навсегда. А остальные так и не развили идеи libglade.

Два прокси toonel.net и http://www.your-freedom.net + proxifier спасут от слишком рьяных сетевых админов, в конце концов при домашнем анлиме качать ещё на работе музыку мне как-то не с руки.

Source Insight пробовал действительно хорошая штука, но частенько падает, может вывести графически связи классов и вызовы функций, что бывает очень удобно! Если её использовать, то использовать нужно сразу и как редактор, а не просто анализатор кода.

 

Your Comment (smaller | larger)

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress