Почему GBD не может сломать main()?Linux

Ответить
Anonymous
 Почему GBD не может сломать main()?

Сообщение Anonymous »

Я запускаю приложение a.out вручную, передавая его в качестве аргумента динамическому загрузчику, как показано ниже. мое приложение скомпилировано в режиме отладки
*gdb --args /lib64/ld-linux-x86-64.so.2 ./a.out
*
Я ставлю точку останова, как показано ниже, когда я выполняю запуск, моя программа запускается и не прерывается на main()
(gdb) устанавливает отложенную точку останова
(gdb)break main
(gdb)run
Вопрос: Как я могу остановить свой двоичный файл на main??
Я пробовал нормально запускать приложение, как показано ниже, и оно работает
gdb ./a.out --> работает.
Почему я запускаю приложение в качестве аргумента загрузчика?
--> у меня есть собственный скомпилированный glibc, который я тестирую, запустив загрузчик вручную.
Пробовал эксперимент.
Я попробовал «catch exec», но не остановился на exec, я предположил, что этот загрузчик не использует exec.
Я могу добавить точку останова на символе загрузчика, попробовал остановиться на __libc_start_main,
затем загрузил символ на a.out, но все равно не получается

Подробнее здесь: https://stackoverflow.com/questions/797 ... ak-on-main
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»