Каков принцип отладки?
Я изучил программирование на пару лет и часто использовал debug. Но я до сих пор не понимаю принцип основного отладки, как это работает? Как реализуется функция отладки строки (шаг в)?
возьмем Java-язык.
Что делает процессор для отладки реализации?
что делает JVM для выполнения отладки?
что делает eclipse для реализации отладки?
Возможно, три элемента, перечисленных выше, не имеют ничего общего с debug. Я только догадывался об этом. Я искал в течение некоторого времени и не получил ничего полезного для меня (конечно, сама отладка сложна), я надеюсь, что более простая интерпретация.
Спасибо.
Ответы
Ответ 1
Каждый процессор имеет свой собственный механизм отладки.
В случае процессора x86 процессор имеет 6 регистров отладки, которые хранят отладочные точки и условия прерывания. Кратко рассмотрим эту статью для механизма отладки процессора Intel x86: http://en.wikipedia.org/wiki/X86_debug_register
В случае механизма отладки Java см. http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html, как указал Mukul Goel в потоке комментариев в вопросе.
Ответ 2
Чтобы облегчить отладку (используя точки останова и т.д.), компилятор вставляет некоторую дополнительную информацию в полученный им результат выполнения (т.е. двоичный файл или файл байт-кода JVM в случае Java). Эта дополнительная информация позволяет отображать каждую строку скомпилированного вывода в соответствующий исходный файл.
Я не ответил на все части вашего вопроса, но, надеюсь, достаточно, чтобы помочь вам начать работу.
Проверьте эти ресурсы:
http://en.wikipedia.org/wiki/Debug_symbol
Как работает отладчик?
Ответ 3
plz проверить это, он дает резюме о том, что отлаживает
http://www.indiastudychannel.com/resources/102306-Debugging-Software-Engineering.aspx