Какие редко используемые инструменты отладки вы считаете полезными? - PullRequest
2 голосов
/ 12 февраля 2010

Какие редко используемые инструменты отладки вы считаете полезными? Моя недавняя ситуация отладки в Visual Studio требовала перехвата точки останова в только что построенной 32-битной DLL, которая была загружена исполняемым файлом без графического интерфейса, который был порожден сервером COM + на удаленной машине x64, которая была вызвана через RPC из реального графического интерфейса. Как обычно, все работало хорошо на всех 32-битных машинах, но продолжало давать сбой на «машинах, отличных от разработки». Так что удаленная отладка была неизбежна.

Таким образом, после того, как в течение 2 дней царапал голову о стену, я добавил 10-секундную задержку в точку входа DLL и использовал удаленный отладчик Microsoft, который раньше никогда не использовал. Это спасло мой день.

Другой фаворит: консоль Java JMX как инструмент «отладки» производительности. Вы можете видеть все потоки, диаграмму памяти, иметь моментальный снимок любого стека потоков в любое время, когда вы нажимаете. Нажатие несколько раз помогает определить, что именно медленно работает в приложении J2EE.

Ответы [ 7 ]

3 голосов
/ 07 ноября 2010

Process Monitor и другие инструменты Марка Руссиновича.

1 голос
/ 07 ноября 2010

WinDbg и другие отладчики нижнего уровня - лучшее оружие, если вы знаете хитрости и советы.

1 голос
/ 12 февраля 2010

Все время любимый - зависит.exe, для выяснения, почему не запускается dll или exe http://dependencywalker.com/

Что касается производительности, на моей прежней работе у нас были очень простые в использовании макросы C ++, которые вели статистику по вызовам функций во время выполнения. Это намного лучше, чем профилировщик, потому что вы можете использовать его из своей обычной IDE, и это позволяет вам увеличивать код, который вы оптимизируете.

На своей новой работе я написал ту же идею на C #.

1 голос
/ 12 февраля 2010

Они, по крайней мере, по моему опыту, не кажутся интуитивно понятным первым выбором для многих при отладке приложений, обращающихся к базе данных (т. Е. Для большинства), которые, возможно, должны быть:

  • SQL Profiler (SQL Server)
  • TKPROF (Oracle)

Еще одной интересной комбинацией было использование eclipse, запущенного на виртуальной машине, доступ к удаленному серверу и подключение к процессу Tomcat; и делать это с двух разных машин для отладки двух разных пакетов одновременно.

1 голос
/ 12 февраля 2010

Я считаю printf наиболее полезным.

1 голос
/ 12 февраля 2010

Логический анализатор, подключенный к контактам процессора и способный разбирать исполняемый код. Я обнаружил ошибку в последовательности загрузки встроенной системы.

0 голосов
/ 12 февраля 2010

Для разработки Windows / .Net я всегда использую Debugview и Ildasm .

...