LINUX.ORG.RU

Знатокам GDB\DDD


0

2

Здрасти.

Дело вот в чем, почему GDB и DDD по-разному указывают адреса переменных? Ну то есть есть скажем локальный буфер. В ДДД он начинается по адресу 0xbffff362 В ГДБ он начинается по адресу 0xbffff3ac


Что значит локальный? На стеке? Я думаю просто при разных запусках он лежит в разных местах. В общем, посмотри что лежит по этому адресу, gdb умеет дамп памяти на экран выводить.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

В стеке, да.

При разных запусках лежит в одних и тех же местах буфер, в том-то и вопрос, почему в разных отладчиках стек «плавает». Причем именно сегмент стека, с кодом все норм.

Nigol
() автор топика
Ответ на: комментарий от Nigol

не важно почему плавает, главное чтобы он там был. Возможно, если изучить механизм работы отладчиков этот вопрос прояснится, но я хз.

Главное чтобы данные были непокорёжены, а то что адрес на 74 байта отличается это фигня.

true_admin ★★★★★
()

Вставь в программу system(«env»); и сравни два вывода

Подозреваю что набор переменных окружения отличается, а он может находиться на стеке.

bvvv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.