Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как найти переменную в памяти? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ max_i,max,min каковы их назначения в проге? http://www.cyberforum.ru/cpp-beginners/thread758903.html
void task_2(int **A, int M, int N) { int max, max_i, min, i, j, t; bool flag=0; FILE *fp=NULL; char filename="2.txt";
C++ Задание по созданию класса HugeInteger Нужно создать класс HugeInteger, который будет вмещать до 40 цифр в своей записи. Затем задание звучит так "создайте функции-элементы inputHugeInteger, outputHugeInteger, plusHugeInteger,... http://www.cyberforum.ru/cpp-beginners/thread758894.html
Объясните, пожалуйста, как работает передача переменных при вызове функций? C++
#include <iostream> #include <conio.h> using namespace std; void z(int *a,int lenght){ int *p; for (p=a;p<a+(lenght-1);p++){ cin >> *p; }
C++ Начальное программирование на C++
Добрый вечер. Думаю следует начать с того, что я захотел начать программировать на C++, но чтобы начать программировать мне нужно поставить перед собой цель, чтобы получить нужный мне результат. Я...
C++ Чтение текста из файла http://www.cyberforum.ru/cpp-beginners/thread758808.html
Ув. жители форума. Дана задача, только ее нужно переделать чтобы она читала текст из файла! #include<stdio.h> #include<string.h> #include <conio.h> int main(){ char str="asd%%fas%%%",...
C++ Удвоить каждое вхождение символа в строке Дана строка s и c символ . Удвойте каждое вхождение символа c в строке s подскажите пожалуйста как решить. Добавлено через 10 минут Дана строка s и c символ . Удвойте каждое вхождение символа c... подробнее

Показать сообщение отдельно
WhiteP
606 / 204 / 23
Регистрация: 20.11.2012
Сообщений: 426
11.01.2013, 18:25
ViktorKozlov,
В файле и в памяти значения адресов разные (т.к. секции в памяти выраниваются по 4Кб границам (обычно), а в файле - по 512-байтным (размер сектора диска). Это раз.
Автоматическую переменную (стековую) в файле не найдешь, т.к. она получается динамически в зависимости от того, куда система загрузит модуль и разместит стек. Само значение 58 скорее всего будет прям в коде.
Статические и глобальные переменные в файле есть в секции инициализированных данных (хотя тут от оптимизации компилятором зависит и от того, действительно ли они инициализируются литералом).
1) Найти ее можно, определив ее адрес на этапе выполнения, и вычесть из него адрес начала секции в памяти (есть в заголовке PE). Потом вычесть ImageBase (тоже в заголовке PE).
2) Потом найти смещение секции в файле (для этого нужно посмотреть PE заголовок) и прибавить полученное на первом этапе смещение...

Стоп, или нужно именно в процессе, а не в файле? Тогда должно быть именно по этому адресу.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.