10.01.2013 13:22, Dmitrii Kashin пишет: > Сегодня игрался с gdb и обнаружил интересную вещицу. > > Я запустил 2 экземпляра gdb с одним и тем же исполняемым файлом (назовем > его - test). Дизассемблировал функцию main(), и обнаружил, что адреса в > обоих экземплярах gdb - совпадают. > > Походу, я что-то не так понимаю. Я полагал, что когда я запускаю процесс > - ему выделяется свое адресное пространство. И таким образом, если я > запущу два экземпляра программы 'test', адрес функции main первого > экземпляра должен отличаться от адреса одноименной функции второго > экземпляра, т.к. они находятся в разных адресных пространствах. > > Судя по всему, что-то из этого работает не так, как мне казалось. Вот я > и хотел бы узнать у знающих людей, что именно. > Прочтите что нибудь на тему защищенного режима. Хоть в той же википедии. Если коротко - адреса программы в непривилегированном режиме не обязаны совпадать с адресами физической памяти. Благодаря этому, в частности, программа может выделить себе больше памяти чем есть физически и адресоваться к ней.
-- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/50eeadf7.40...@mail.ru