Я написал оболочку в C. Есть некоторые проблемы при запуске некоторых программ на нем. Как я могу запустить программу на оболочке при отладке оболочки в gdb?Отладка программы, запускающей другую программу
ответ
Первое использование -g
вариант для компиляции с флагами отладки, для использования с gdb
.
Затем запустить.
gdb shellapp
...
run someapps
...
Для быстрого чтения How to Debug C Program using gdb in 6 Simple Steps и GDB Tutorial
Или вы имеете в виду run a program in the background?
Нужно использовать программу-компилятор, используя '-g' –
Привет, спасибо за редактирование;) –
:) приветствую вас. –
Вы можете прикрепить gdb к уже запущенному процессу оболочки с другой консоли. Таким образом, ваш вывод оболочки не будет мешать выходу gdb, и вы можете запускать программы в оболочке, как обычно.
- Запустите выполнение оболочки в 1-ом окне консоли
- Открыть 2-й консоли и найти Pid число уже работает оболочки с помощью
ps
команды Start
gdb
на 2-й консоли и attach обстреливать, используя его PID число, например, это:: ~ $ GDB -q
(GDB) присоединять 3479
Установка для обработки 3479Теперь вы можете установить точки останова и продолжить выполнение оболочки:
(GDB) б SomeFunction
(GDB) C
продолженного.
С этого момента у вас есть 2 консоли:
- тот, где оболочка запущена
- и второй, где
gdb
пробеги прикреплен к оболочке
Вы можете использовать оболочку как обычно: запускать на него другие программы или делать что-то еще. И в то же время вы можете наблюдать выполнение оболочки во второй консоли внутри gdb
. Дело в том, что вывод этих двух процессов отделен друг от друга, что было бы невозможно, если вы запускаете оболочку непосредственно внутри gdb только в одной консоли.
Я не понимаю, что вы говорите ... объясните немного больше. –
@Grijesh Chauhan, я имею в виду, что отлаживать интерактивную оболочку с той же консоли, где работает gdb, сложно отлаживать интерактивную оболочку, поскольку сам gdb является интерактивным. Выход из gdb и shell будет смешиваться, и это создает трудности при отладке. – ks1322
Пожалуйста, объясните. Это то, что мне нужно. – mohit
- 1. Вывод трубы программы C++ в другую программу
- 2. Install4j удалить другую программу
- 3. Отладка программы XQuery
- 4. java программирование отладка программы
- 5. отладка программы каникул java
- 6. Отладка программы Anagram
- 7. написать программу для перехода через другую программу
- 8. Отладка ипотечной программы
- 9. Отладка DLL через программу
- 10. Отладка программы Blackjack? (Java)
- 11. Отладка простой программы в Erlang
- 12. Использовать программу для ввода в другую программу?
- 13. Запуск и отладка программы Intellij
- 14. Как перенаправить выход программы Java в другую программу?
- 15. Как открыть другую программу после выхода из программы на Python?
- 16. Как общаться из одной программы в другую длинную программу?
- 17. Как запустить другую программу java внутри java-программы?
- 18. как передать некоторую «статистику» из программы C# в другую программу?
- 19. Как убить программы python, используя другую программу python на малине?
- 20. отладка программы neighbors.c (многомерные массивы)
- 21. Выполнять программу из программы C
- 22. Запустить другую программу как администратор
- 23. Отладка программы Scheme
- 24. Отладка программы Python
- 25. Отладка программы связи сокетов
- 26. Отладка вредоносной программы
- 27. Отладка программы C
- 28. Отладка моей программы
- 29. Отладка программы JCuda
- 30. Отладка программы GLSL
Необходимо приложить некоторые усилия, прежде чем размещать здесь вопрос. –