|
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
|
||||||
Принцип работы отладчика в Linux и fork()24.04.2016, 12:09. Показов 2497. Ответов 7
Метки нет (Все метки)
Добрый день всем!
Вопрос к знатокам Линукс и UNIX-подобных систем. Дайте пожалуйста ссылки, где можно кратко и доступно прочитать о таких вот вещах (ибо с наскоку через гугл не получилось найти краткий вразумительный ответ), либо, если не затруднит напишите ответ: 1. Принцип работы отладчика в Линукс. Очень поверхностно. Конкретно интересует вопрос, как работает break-point. Нашел кучу информации, как им пользоваться, но ничего конкретного о его принципе работы. Могу только предположить, что отлаживаемое приложение запускается дочерним процессом под отладчиком и по достижении брейка, тот его прерывает (т.е. это не хардварная трассировка, используя возможности процессора, а программная эмуляция). 2. Если бряк поставить в функцию, которая находится в динамически подключаемой библиотеке, сработает ли она и смогут ли в момент отладки использовать эту библиотеку другие приложения? Почему? 3. Сколько напечатает точек программа и почему?
Я так полагаю, будет порождено 2 дочки, которые и напечатают 2 точки, а сам родитель печатать ничего не будет. Но это чисто интуитивное предположение. Если кто-то хорошо знает тему, дайте, пжл. ссылку или кратко поясните. Спасибо за ответы.
0
|
||||||
| 24.04.2016, 12:09 | |
|
Ответы с готовыми решениями:
7
Cобытийность. Принцип использования и принцип работы событий в jQ и GCT С++ под Linux, процессы fork() и каналы Клиент-сервер TCP для Linux с fork |
|
Заблокирован
|
|
| 24.04.2016, 12:22 | |
|
1. http://eli.thegreenplace.net/2... reakpoints
2. Конечно, сработает. Другие приложения смогут использовать ее. Потому после установки бряки, ты будешь работать со своей копией библиотеки. Читай про Copy-On-Write. 3. А вот это уже совсем не интересно. Скомпилируй сам, да запусти.
1
|
|
|
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
|
|
| 24.04.2016, 13:13 [ТС] | |
|
ко 2 вопросу.
Прошу прощения за наглость, а разве динамические библиотеки не являются разделяемыми?.. Или Вы хотите сказать, что создаются отдельные копии динамических библиотек для каждого процесса? 3. Тут вопрос не интереса, а того, что передо мной поставили вопрос и мне надо на него ответить. ) Поэтому важно именно разобраться в механизме. Напечатаются 4 точки. т.е. 2 точки напечатает родитель и 2 точки напечатают 2 (или все-таки одна?) дочка.. Сколько все-таки дочек порождается, до какого момента они работают(места в программе) и чем обуславливается их завершение?
0
|
|
|
|
||||
| 24.04.2016, 13:23 | ||||
|
В программном случае отладчик модифицирует код исполняемой программы и в точку остановки встраивает код для вызова прерывания. Когда исполнение дойдёт до этой точки, вызовется прерывание, после чего операционная система передаст управление отладчику В аппаратном случае в процессоре имеются специальные системные регистры, в которых можно записать адрес кода, под достижении которого требуется остановка. Специальных регистров обычно мало (в районе 4 штук), а потому когда ставится много брейкпоинтов, то всё равно приходится ставить в том числе и программные
1
|
||||
|
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
|
||
| 24.04.2016, 14:07 [ТС] | ||
|
Спасибо за ответы Добавлено через 11 минут А вот еще такой вопрос. В х86 для работы отладчика используется int3 (код 0xCC). А как дело обстоит в других архитектурах? Т.е. тоже резервируется какое-то прерывание/исключение для этих целей? Добавлено через 17 минут C fork() вообще мутотень какая-то... Компилирую в онлайн компиляторе https://ideone.com/IAXqAb куда ни сунь этот fork() создается полная копия процесса и выполняется весь код из него.. Странно как-то..
0
|
||
|
|
||
| 24.04.2016, 16:02 | ||
|
1
|
||
|
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
|
|
| 24.04.2016, 16:05 [ТС] | |
|
Да, так и есть. Int N - двубайтная.
Кто-нибудь, расскажите, пожалуйста про fork();
0
|
|
|
650 / 403 / 76
Регистрация: 21.09.2008
Сообщений: 1,396
|
||
| 24.04.2016, 16:42 | ||
|
1
|
||
| 24.04.2016, 16:42 | |
|
Помогаю со студенческими работами здесь
8
Debian Linux - Создание процессов (дед, отец, сын), fork();
IsDebuggerPresent - отслеживание отладчика и работы в обычном режиме Настройка отладчика для работы с портами ввода на STK500 Выставить сразу несколько(рядом) точек прерывания работы отладчика Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|