Отладка в GDB без исходников и дебаг-символов.
Отладка в GDB без исходников и дебаг-символов.
Собственно, сабж.
Есть ли возможность поиска в памяти встроенными средствами? Или придется самому скрипт писать?..
Есть ли возможность поиска в памяти встроенными средствами? Или придется самому скрипт писать?..
-
- Неотъемлемая часть форума
- Сообщения: 250
- Зарегистрирован: 12 авг 2003, 03:55
- Контактная информация:
Re: Отладка в GDB без исходников и дебаг-символов.
А что значит поиска в памяти ? memchr, memmem и вообще любую библиотечную функцию можно вызвать из GDB и без отладочной информации.
Re: Отладка в GDB без исходников и дебаг-символов.
Aleksey Kondratenko,
Ой
) До меня как-то не докатило, что никто не мешает эти функции юзать..
Спасибо - проблема решена)
Ой

Спасибо - проблема решена)
Re: Отладка в GDB без исходников и дебаг-символов.
Прошла одна проблема - появилась другая.
Во всех сегментных регистрах хранится либо десятичное 123 либо 1. По крайней мере, так говорит gdb.
А мне нужно получить адрес стека и сегмента данных.
Всё пробовал - даже комп перегружал!
Во всех сегментных регистрах хранится либо десятичное 123 либо 1. По крайней мере, так говорит gdb.
А мне нужно получить адрес стека и сегмента данных.
Всё пробовал - даже комп перегружал!

Re: Отладка в GDB без исходников и дебаг-символов.
подписался на комменты (с) :)
-
- Неотъемлемая часть форума
- Сообщения: 250
- Зарегистрирован: 12 авг 2003, 03:55
- Контактная информация:
Re: Отладка в GDB без исходников и дебаг-символов.
Какие сегменты ? Речь идет о Linux ? Если так то о сегментах можно забыть.
Если надо знать где стек, печатайте $esp (x86).
Если надо знать где heap. То это можно подсмотреть в /proc/<pid>/maps или /proc/<pid>/smaps. Стек главного потока и других потоков также хорошо виден на этих данных. Стек главного потока на самом верху адресного пространства и обычно подписан. Стеки потоков также легко видны. Ориентироваться надо на 8M (такой default) private mapping с guard page под ним.
Если надо знать где стек, печатайте $esp (x86).
Если надо знать где heap. То это можно подсмотреть в /proc/<pid>/maps или /proc/<pid>/smaps. Стек главного потока и других потоков также хорошо виден на этих данных. Стек главного потока на самом верху адресного пространства и обычно подписан. Стеки потоков также легко видны. Ориентироваться надо на 8M (такой default) private mapping с guard page под ним.
Re: Отладка в GDB без исходников и дебаг-символов.
Чувствую себя полным ламером.. А подвендой было так просто(
Ждите новых ламерских вопросов

Ждите новых ламерских вопросов

Re: Отладка в GDB без исходников и дебаг-символов.
А при чём здесь венда? Она тоже хранит в сегментных регистрах только селекторы, указующие на дескрипторы либо сегментов пользовательского режима, либо режима ядра. Принципы работы в защищённом режиме одинаковы для NT и линупса. Вам правильно указали на esp, в общем-то. Забудьте о содержимом сегментных регистров в РМ раз и навсегда и не трогайте их.
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev