Страница 1 из 1

Отладка в GDB без исходников и дебаг-символов.

Добавлено: 06 дек 2010, 02:59
Fynivx
Собственно, сабж.

Есть ли возможность поиска в памяти встроенными средствами? Или придется самому скрипт писать?..

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 06 дек 2010, 17:03
Aleksey Kondratenko
А что значит поиска в памяти ? memchr, memmem и вообще любую библиотечную функцию можно вызвать из GDB и без отладочной информации.

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 06 дек 2010, 23:06
Fynivx
Aleksey Kondratenko,

Ой :oops: ) До меня как-то не докатило, что никто не мешает эти функции юзать..

Спасибо - проблема решена)

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 07 дек 2010, 05:36
Fynivx
Прошла одна проблема - появилась другая.

Во всех сегментных регистрах хранится либо десятичное 123 либо 1. По крайней мере, так говорит gdb.

А мне нужно получить адрес стека и сегмента данных.

Всё пробовал - даже комп перегружал! :?

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 07 дек 2010, 11:23
ZvK
подписался на комменты (с) :)

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 07 дек 2010, 14:41
Aleksey Kondratenko
Какие сегменты ? Речь идет о Linux ? Если так то о сегментах можно забыть.

Если надо знать где стек, печатайте $esp (x86).

Если надо знать где heap. То это можно подсмотреть в /proc/<pid>/maps или /proc/<pid>/smaps. Стек главного потока и других потоков также хорошо виден на этих данных. Стек главного потока на самом верху адресного пространства и обычно подписан. Стеки потоков также легко видны. Ориентироваться надо на 8M (такой default) private mapping с guard page под ним.

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 07 дек 2010, 16:56
Fynivx
Чувствую себя полным ламером.. А подвендой было так просто( :oops:

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

Re: Отладка в GDB без исходников и дебаг-символов.

Добавлено: 24 июн 2011, 04:15
red f0x
А при чём здесь венда? Она тоже хранит в сегментных регистрах только селекторы, указующие на дескрипторы либо сегментов пользовательского режима, либо режима ядра. Принципы работы в защищённом режиме одинаковы для NT и линупса. Вам правильно указали на esp, в общем-то. Забудьте о содержимом сегментных регистров в РМ раз и навсегда и не трогайте их.