Помогите ответить на вопрос...

blast

Житель города
#1
Почему дебагер (Пуск/Выполнить/Debug) всегда стартует с одного и того же адреса (например 14FD:100, причём не зависимо от того висит ли 10 и более приложений, или вообще комп только загрузился)? Как это всё объяснить?
 

Aliens

Меня знают многие ;-)
#2
ну так разработчики заложили... смещение 100 от начала сегмента, а вот адрес сегмента может быть разный у меня щас 13А7
 

blast

Житель города
#3
А от чего зависит этот адресс? И почему на определённой машине он всегда один и тот же?
 

Aliens

Меня знают многие ;-)
#4
зависит от той виртуальной среды которая создается ОС для запуска приложений... она зсоздается одинаковой для всех приложений (сколько их уже запущено не важно)...

зависит от того сколько памяти занимает ядро ОС и драйвера...
 

Aliens

Меня знают многие ;-)
#5
Все правильно, железо то у тебя не меняется от загрузки к загрузке, а виндовс не изменяет своих кодов в процессе работы, поэтому начальная конфигурация одна и та же всегда.
А вообще лучше всего почитать инфу по этому сраному неудобному и вообще бесполезному дебагеру..
 

blast

Житель города
#6
Nic, я тебя понял. Но а если этот участок памяти будет занят, или к примеру отрыть этих дебагеров штук пять, то все они начнут работу с одного и того же адреса, а как такое может произойти, если этот адрес уже должен быть занят? Грубо говоря, не могут же быть у двух автомобилей общие колёса. В общем, чё то я тут не догоняю, объясните пожалуйста по подробней.
 

Aliens

Меня знают многие ;-)
#7
blast
я же там написал:

Виртуальное пространство создается одинаковое для всех задач...

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

Единственно для каждой задачи в ее виртуальном пространстве дублируется состояние ОС, после ее загрузки и загрузки всех дров...

=================
P.S.
размер виртуального пространства всегда 4Gb, и от количества физической памяти не зависит...можете поэкспериментировать втыкая или вытаскивая планки - ваш дебагер все равно будет показывать тот же адрес... даже если у вас будет памяти всего 1 Мб