Предполагается, что вы отлаживаете неуправляемый процесс ...
Когда вы «Отладить / Разбить все», выполните следующие действия:
Выберите «Отладка / Windows / Модули», чтобы получить список всех загруженных модулей.
Под столбцом «Адрес» в окне «Модули» находится диапазон памяти для этого модуля.
В поле «Адрес:» в окне разборки введите начальный адрес для модуля (обязательно добавьте 0x перед номером)
Теперь вы должны быть в начале модуля, с которым хотите поиграть. Если вам известен адрес функции, вы можете просто перейти по этому адресу.
Вот пример:
Запустить sol.exe
Присоединяйся к процессу и ломай все.
Посмотрите на модули и найдите «cards.dll», вы увидите, что он загружается на 6fc10000 (на моем компьютере, в любом случае).
Введите этот адрес (0x6fc10000) в окне разборки, и он приведет вас к запуску модуля.
Теперь скажите, что я хочу перейти к функции. Откройте DLL в Dependency Walker (зависимость.exe), чтобы получить смещения функций. В моем примере я хочу установить точку останова для функции "cdInit". В Dependecny Walker это показывает, что смещение экспортируемой функции cdInit равно 0x000013e6. Таким образом, чтобы добраться до этой функции, я бы добавил начальный адрес модуля (0x6fc10000) к смещению (0x000013e6), чтобы получить 0x6fc113e6.
Ввод этого адреса в поле для разборки действительно приводит меня к началу этой функции.