Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

процесс отладки   Найти похожие ветки 

 
Unknown user ©   (2009-02-18 22:35) [0]

Расскажите, пожалуйста, как работают отладчики. Я знаю, что процесс создается с атрибутами безопасности, позволяющими отладку и отладчик присоединяется к процессу. Вот в принципе и все, что я знаю. Никогда не вникал в подробности, не было необходимости. Сейчас заинтересовался. Как отладчик останавливает процесс в точке останова, как получает значения переменных, как вообще он связывает исходные тексты с бинарным файлом?


 
clickmaker ©   (2009-02-18 22:44) [1]

все дело в волшебном прерывании Int 3 и коде 0xCC, который собственно и представляет точку останова в терминах ассемблера.


> как вообще он связывает исходные тексты с бинарным файлом?

в отладочную версию экзе включается отладочная информация


 
Сергей М. ©   (2009-02-18 22:47) [2]


> Unknown user ©   (18.02.09 22:35)
> как работают отладчики


Все на свете  или конкретно дельфийский ?


 
Unknown user ©   (2009-02-19 00:55) [3]

>Все на свете  или конкретно дельфийский ?

желательно про дельфийский


 
Unknown user ©   (2009-02-19 00:58) [4]

>в отладочную версию экзе включается отладочная информация

а можно детали? то есть для каждой инструкции имеется указание на нее в исходных текстах? где об этом можно почитать? и насколько сложно написать свою IDE, используя тот же дельфийский компилятор?


 
Сергей М. ©   (2009-02-19 08:39) [5]


> про дельфийский


Дельфийский для перехвата управления в точке останова осуществляет сплайсинг - подмену первого байта первой инструкции оператора на байт со значением КОП стандартной отладочной ловушки Int 3 ($CC).


 
Сергей М. ©   (2009-02-19 08:51) [6]


> Unknown user ©   (18.02.09 22:35)  

http://www.kv.by/index2008061108.htm
http://www.xakep.ru/magazine/xA/083/112/1.asp


 
Unknown user ©   (2009-02-19 21:20) [7]

спасибо, очень полезные ссылки, все просто расписано


 
Unknown user ©   (2009-02-20 01:29) [8]

Однако остался еще один интересующий вопрос на который я не нашел ответа. Делфийский компилятор dcc32 можно без проблем использовать без IDE, можно ли без IDE в своей программе использовать делфийский отладчик, имея исходные тексты на Делфи. Требуется пошаговая отладка с возможностью просмотра значений переменных.


 
Petr V. Abramov ©   (2009-02-20 01:36) [9]


> clickmaker ©   (18.02.09 22:44) [1]


> все дело в волшебном прерывании Int 3 и коде 0xCC, который
> собственно и представляет точку останова

ты уверен, что именно так, а не на регистрах DR0..DR3 x386+ ? :)
я не ругаюсь, просто спрашиваю :)


 
Pavia ©   (2009-02-20 02:51) [10]


> ты уверен, что именно так, а не на регистрах DR0..DR3 x386+
> ? :)

Регистров только 4, а точек останова сколько хочешь. Так что 0cch.


 
Сергей М. ©   (2009-02-20 09:18) [11]


> Unknown user ©   (20.02.09 01:29) [8]


Теоретически можно - ядро дельфийского отладчика, например, в D7 являет собой обычный COM-сервер автоматизации, представленный именем "Borland.Dbk".


 
Unknown user ©   (2009-02-20 22:56) [12]

А если писать самому отладчик пользовательского уровня для Делфи приложений, вы можете описать основные части такой программы? Есть примеры подобных решений?



Страницы: 1 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
15-1234857516
БарЛог
2009-02-17 10:58
2009.04.19
Write in C


15-1234859394
Ega23
2009-02-17 11:29
2009.04.19
знатоки JavaScript, посоветуйте


2-1236178443
BeeHead
2009-03-04 17:54
2009.04.19
Установка компонент


15-1234857582
Анна
2009-02-17 10:59
2009.04.19
Уравнение для 8 класса


2-1236238302
Drowsy
2009-03-05 10:31
2009.04.19
А удалить запись не получается.