GDB завершается с ошибкой 193 при отладке MinGW-скомпилированного кода - PullRequest
4 голосов
/ 09 февраля 2010

Это отображается, когда я пытаюсь отладить свой код с помощью Eclipse:

alt text

Затем я попытался создать простую программу Hello World вручную с помощью Notepad ++ и командной строки gcc. Когда я запустил отладчик gdb, это произошло:

(GDB) запустить

Запуск программы: C: \ Документы и Настройки \ Pieter \ Bureaublad / test.exe Ошибка при создании процесса C: \ Documents а также Настройки \ Pieter \ Bureaublad / test.exe, (ошибка 193).

Двоичный файл работает нормально, но как только я пытаюсь отладить его, возвращается ошибка 193. Я работаю с кодом C, который обрабатывается компилятором MinGW GCC. Я попытался переустановить компилятор и отладчик (последние версии), но это ничего не изменило. Это работало в прошлом, и я не помню, чтобы какие-либо изменения в настройках, связанных с компилятором.

Вот пример журнала ошибок, сгенерированного Eclipse.

! ENTRY org.eclipse.cdt.dsf.gdb 4 5012 2010-02-09 18: 19: 47.375! СООБЩЕНИЕ Ошибка в финальной последовательности запуска! STACK 1 org.eclipse.core.runtime.CoreException: Не удалось выполнить команду MI: -exec-run Сообщение об ошибке от сервера отладчика: Ошибка создания процесса C: / Документы и настройки / Питер / Mijn documenten / My Dropbox / Unief / С / Н12 / Opdr07 / отладки / CH12O07.exe, (ошибка 193). в org.eclipse.cdt.dsf.concurrent.Sequence.abortExecution (Sequence.java:560) в org.eclipse.cdt.dsf.concurrent.Sequence.access $ 4 (Sequence.java:552) в org.eclipse.cdt.dsf.concurrent.Sequence $ 2.handleErrorOrWarning (Sequence.java:424) в org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleFailure (RequestMonitor.java:314) в org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted (RequestMonitor.java:277) в org.eclipse.cdt.dsf.concurrent.RequestMonitor $ 2.run (RequestMonitor.java:239) в java.util.concurrent.Executors $ RunnableAdapter.call (Неизвестно Источник) в java.util.concurrent.FutureTask $ Sync.innerRun (Неизвестно Источник) в java.util.concurrent.FutureTask.run (Неизвестно Источник) в java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301 (не известно Источник) в java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (Неизвестно Источник) в java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (Неизвестно Источник) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (Неизвестно Источник) в java.lang.Thread.run (неизвестный источник) ! SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2010-02-09 18: 19: 47.546! СООБЩЕНИЕ Не удалось выполнить команду MI: -exec-run Сообщение об ошибке от сервера отладчика: Ошибка создания процесса C: / Документы и настройки / Питер / Mijn documenten / My Dropbox / Unief / С / Н12 / Opdr07 / отладки / CH12O07.exe, (ошибка 193).

Ответы [ 5 ]

6 голосов
/ 16 февраля 2010

Возможно, вы используете старую версию GDB, не поддерживает встроенную отладку MinGW (маловероятно, поскольку вы сказали, что обновили до последней версии), или вы неправильно вызывать отладчик ? Другими словами, если ваш исполняемый файл с именем helloworld.exe, gdb helloworld может выдать эту ошибку, тогда как gdb helloworld.exe может работать.

Редактировать : дальнейшее поиск в Google говорит, что попытка имени каталога без пробелов может работать (решение для Code :: Blocks, но попытка не помешает).

3 голосов
/ 03 марта 2013

ваш параметр общей библиотеки включен (возможно, из-за того, что вы переключили свой проект с исполняемой программы на общую библиотеку, а затем обратно), и gcc по-прежнему вызывается с параметрами '-shared', но выходной файл имеет файл .exe расширение. В

есть флажок, называемый «общий»
Properties => C/C++ Build => Settings => Tool Settings => MinGW C Linker => Shared Library Settings.   

Убедитесь, что это не проверено. У меня также была ошибка 193, пока я не сбросил это.

3 голосов
/ 09 февраля 2010

Google сообщает мне, что «Ошибка 193» - это код ошибки Windows, который означает, что исполняемый файл фактически не является исполняемым. Похоже, что-то не так с вашим EXE-файлом - вы можете запустить его напрямую?

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

Вы сказали:

(GDB) запустить

Запуск программы: C: \ Documents and Настройки \ Pieter \ Bureaublad / test.exe Ошибка при создании процесса C: \ Documents а также Настройки \ Pieter \ Bureaublad / test.exe, (ошибка 193).

Может ли это иметь отношение к прямой / обратной косой черте в конце пути исполняемого файла? Возможно, часть Bureaublad/test.exe здесь предназначена как один исполняемый файл, и ее нельзя найти?

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

В этой теме упоминается:

  • Ошибка 193: ERROR_BAD_EXE_FORMAT
  • это может быть проблема с вашей установкой cygwin.

Примечание (как пример "проблемы с установкой cygwin): при установке gdb в cygwin имелась ошибка с ссылкой на путь, включающий пробел (см. этот поток )

Какую версию GDB вы используете, когда воспроизводите проблему за пределами Eclipse CDT?

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