Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
1

Методы защиты данных от записи во время выполнения участка кода?

13.05.2016, 11:26. Просмотров 411. Ответов 10
Метки нет (Все метки)

День добрый, форумчане.
Вводные данные:
- Весь свой код строю на работе с указателями.
- Потоки пока не использую
- Linux, gcc 4.8

Вроде как из за отсутствия многопоточности, шансов, что во время выполнения участка кода использующего указатели, другой код перезапишет данные по этим адресам памяти, нет, но все таки хотелось бы перестраховаться. Может есть какие возможности блокировки данных на время выполнения кода?

Заранее спасибо за толковые советы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2016, 11:26
Ответы с готовыми решениями:

Время выполнения участка кода
как можно засечь за сколько выполняется (секунды, миллисекунды) участок кода?

RDTSC - время выполнения участка кода
Приветствую! Как правильно замерить время выполнения участка кода? Использую следующий код ...

Измерять время выполнения участка кода
// Фиксируем начальный момент времени clock_t start = clock(); //участок кода...

Как измерить время выполнения отдельного участка кода?
Собственно возник вопрос, каким образом измерить время выполнения того или инного учатска кода?(На...

10
Модератор
3309 / 2099 / 334
Регистрация: 13.01.2012
Сообщений: 8,160
14.05.2016, 20:11 2
Цитата Сообщение от karat39 Посмотреть сообщение
но все таки
но все таки расскажите кто же тогда перезапишет ваши данные по этим адресам памяти?
0
40 / 21 / 3
Регистрация: 27.04.2015
Сообщений: 176
15.05.2016, 13:23 3
karat39, кроме тебя никто,vxg, прав
0
30 / 16 / 5
Регистрация: 18.07.2013
Сообщений: 220
17.05.2016, 09:21 4
Можете скопировать необходимый диапазон в буфер, после того как изменение завершено (Резервное копирование оставить только для Debug версии). Создать Debug функцию которая будет присутствовать в не Release версии и будет проверять состояние диапазона с буфером. Если проверка не пройдена, данная функция читает с 0 адреса, что вызывает остановку приложения. Вставляете эту функцию в подозрительные места. Отладчик будет показывать вам в каком месте приложение было остановлено, чтобы видеть окружение в котором была произведена нежелательная запись. Если речь была про защиту от других процессов, то это уже другая история.
0
Почетный модератор
Эксперт С++
5836 / 2842 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
17.05.2016, 12:19 5
Цитата Сообщение от Archi0 Посмотреть сообщение
скопировать необходимый диапазон в буфер
Дамп памяти.
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
20.05.2016, 10:09  [ТС] 6
Ребята, извините, так и не могу научиться на форуме цитировать ваши сообщения.

Как только перешел во всем коде на указатели, начал ловить ошибку сегментации. gdb меня отправляет на всякие системные библиотеки, толком ничего не говорит. Я поэтому и подумал, что у меня с памятью что то не то. Ошибка плавающая, ловлю до сих пор.
0
Модератор
3309 / 2099 / 334
Регистрация: 13.01.2012
Сообщений: 8,160
20.05.2016, 10:14 7
Цитата Сообщение от karat39 Посмотреть сообщение
Как только перешел во всем коде на указатели,
вы просто где то рушите доступ сами. разыменовываете то чего нет или работаете с уже удаленным или удаляете дважды - домовые тут не виноваты. для цитирования - выделите текст и появится рядом с ним кнопочка цитировать (на теле так нельзя и я что бы не лезть в дебри просто тыкаю на ник - тогда вставляется обращение к этому человеку)
1
Почетный модератор
Эксперт С++
5836 / 2842 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
20.05.2016, 10:28 8
karat39, vxg, как работать в редакторе сообщений.
1
Модератор
3309 / 2099 / 334
Регистрация: 13.01.2012
Сообщений: 8,160
20.05.2016, 10:42 9
SatanaXIII, к сожалению информация несколько устаревшая. кнопка цитата.. видимо отделилась кудато
0
Почетный модератор
Эксперт С++
5836 / 2842 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
20.05.2016, 11:54 10
vxg, даа, надо как-нибудь на досуге переработать, но всем лень. Х)
0
6 / 6 / 2
Регистрация: 09.02.2016
Сообщений: 138
20.05.2016, 12:51  [ТС] 11
Цитата Сообщение от vxg Посмотреть сообщение
вы просто где то рушите доступ сами. разыменовываете то чего нет или работаете с уже удаленным или удаляете дважды - домовые тут не виноваты.
спасибо за наводку. Буду разбирать.

Добавлено через 23 секунды
Цитата Сообщение от vxg Посмотреть сообщение
для цитирования - выделите текст и появится рядом с ним кнопочка цитировать (на теле так нельзя и я что бы не лезть в дебри просто тыкаю на ник - тогда вставляется обращение к этому человеку)
спасибо, получилось =)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.05.2016, 12:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Замер скорости выполнения участка кода
Нужно замерить скорость выполнения кода в рабочем проекте. Проблема дополняется тем что код нельзя...

Узнать скорость выполнения определённого участка кода
Доброй ночи. Собственно вопрос заключается в следующем, нужно узнать скорость выполнения...

Непонятное завершение программы после выполнения участка кода
Создал проект Windows Forms в нем при загрузке окна выполняетс private: System::Void...

Задержка выполнения кода на время выполнения анимации
Пишу игру с видом пошагового боя. С каждым ходом, игрок выкладывает на доску новую фигуру....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.