Графический бесплатный отладчик для встроенных программ на C ++ (Windows XP) - PullRequest
1 голос
/ 21 января 2012

Программное обеспечение, которое я разрабатываю, использует make-файлы командной строки. Моя среда использует бесплатные инструменты в максимально возможной степени. Если бы вы спросили меня, какую версию make я использую, я бы с трудом уточнил это, потому что я установил mingw, cygwin и dev-cpp. Тем не менее, я знаю, что это «свободный», а не Microsoft, и тот, что на моем пути в данный момент, находится в каталоге dev-cpp. Во всяком случае, это не суть этого вопроса.

Мой код извлекается из SCM, собирается, и, наконец, исполняемый файл помещается в каталог bin. Мне нужен бесплатный полный экран графический отладчик, который может отлаживать этот exe-файл. Я не ищу IDE, но, возможно, для ответа потребуется установить IDE , Я определенно не рассмотрю возможность перехода от make-файлов командной строки к эквивалентам IDE.

Я пробовал это с MSVC, и я могу сделать это, подключившись к процессу после его запуска. Это не идеально по двум причинам: инструмент должен быть бесплатным, и я должен иметь возможность отлаживать его при запуске. И, кстати, я не буду рассматривать MSVS Express. Я уже пробовал, и он продолжал висеть, так что теперь он удален навсегда!

В ваш ответ вы, возможно, захотите включить инструкции, так как обычно эти вещи работают гладко только тогда, когда вы встроили программу в IDE, а я этого не сделаю. Предпочтительный ответ будет указывать инструмент, который занимает мало места при установке и работает также в Linux. Укажите любые предварительные условия, например, с каким компилятором должен быть собран код. Конечно, если инструкции слишком длинные, то список того, что вы установили самостоятельно, является справкой.

Я, конечно, upvote ответ, который объясняет, как я могу сделать это с Dev-CPP, так как он уже установлен. Это не значит, что это будет предпочтительный ответ. Это идеальные поля для отметки в порядке приоритета.

  1. Бесплатно (обязательно)
  2. Отсоединено от процесса сборки (Essential)
  3. Полноэкранный графический (необходимый)
  4. Минималистский. Лучше всего просто отладчик. Минимизировать раздувание и кривую обучения (в идеале)
  5. Мощный отладчик, т. Е. Вы можете быть достаточно продуктивным с ним (в идеале)
  6. Кросс-платформа (в идеале)

4 и 5 могут быть противоречивыми, но не волнуйтесь. Вот где будут сделаны компромиссы.

РЕДАКТИРОВАТЬ: Некоторые очень хорошие ответы. Пожалуйста, укажите, какие из вышеуказанных полей вы отметили.

Ответы [ 4 ]

2 голосов
/ 21 января 2012

Cygwin + http://www.gnu.org/software/ddd/

DDD является графическим интерфейсом для gdb.

Вы упомянули, что знакомы с самим gdb, поэтому это должно происходить естественно.

1 голос
/ 21 января 2012

Большинство профессиональных разработчиков Windows используют WinDBG, который является оболочкой пользовательского интерфейса для нескольких отладчиков командной строки. Это более мощный отладчик, чем MSVC, потому что он может работать как в режиме пользователя, так и в режиме ядра и имеет гибкий набор расширений на основе командной строки, который может выполнять большое количество автоматизированных задач. Это бесплатно, как в пиве, хотя, вероятно, не так, как в речи. Его использование во многом похоже на использование gdb, хотя в версии пользовательского интерфейса есть хорошая поддержка закрепляемых окон для наблюдения переменных, локальных переменных, потоков, памяти и т. Д.

Он доступен как часть средств отладки для Windows (бесплатно) или Windows SDK ...

http://msdn.microsoft.com/en-us/windows/hardware/gg463009

1 голос
/ 21 января 2012

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

  1. Скопируйте все ваши символы отладки в ту же директорию, что и EXE, если их там еще нет.
  2. Запустить Visual Studio (Visual C ++)
  3. В верхнем меню выберите Файл-> Открыть-> Проект / Решение. (Как будто вы собираетесь открыть файл .vcproj).
  4. В диалоговом окне выбора файла перейдите в каталог EXE-файла, который вы хотите отладить.
  5. Если необходимо, измените выпадающий список типов файлов на «все файлы» или «exe файлы». Или просто введите *. * в поле имени файла, чтобы открыть диалоговое окно для отображения всех файлов в этой папке.
  6. Выберите EXE.
  7. В верхнем меню выберите «Отладка» -> «Перешагнуть».

Если все пойдет хорошо, отладчик IDE будет указывать на первую строку «main», и вы сможете продолжить пошаговое выполнение кода. Он может запросить у вас расположение исходных файлов. Просто скажите ему, где его найти, и он должен найти все остальное.

Теперь, исходя из тона вашего поста, могу сказать, что вы бы оценили что-то более "низкое". Я предложу "windbg". Это должно работать и для вас.

http://msdn.microsoft.com/en-us/windows/hardware/gg463009

1 голос
/ 21 января 2012

С установленными наборами инструментов вы уже сможете использовать gdb (например, входит в комплект MinGW). Это минималистично, но также без какого-либо реального интерфейса (просто командная строка). Для запуска просто вызовите его с исполняемым файлом в качестве параметра: gdb myexe. Для передачи параметров: gdb --args myexe first second third

Если вы предпочитаете IDE, вы можете использовать практически любую IDE и добавить проект makefile вместо стандартного проекта. Большинство поддерживают это.

Для (IMO) лучшей / наиболее продуктивной отладки под Windows вам все равно придется перейти на MSVC. Там нет пути вокруг. Другие бесплатные IDE предлагают аналогичные вещи и функции, но пока никому не удалось получить хотя бы почти на одном уровне. Он не должен застрять или что-то на полуразумном современном ПК. Возможно, возникла другая проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...