memcpy (): место записи нарушения прав доступа - PullRequest
0 голосов
/ 13 октября 2018

Я получаю адрес записи о нарушении доступа 0xB7066CBC при выполнении этого кода. Не удается выяснить, что происходит, какие-либо предложения?

int main(void)

{
unsigned int SIG = 0x00000000;
unsigned int *base = (unsigned int *)0xb7066CBC;
SIG = 0x5a5a5a5a;
memcpy(base ,&SIG, 4);
}

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

&SIG 0x003bf7c0 {0x5a5a5a5a}
SIG  0x5a5a5a5a
base 0xb7066cbc {???}

1 Ответ

0 голосов
/ 14 октября 2018

Я получаю место записи нарушения прав доступа 0xB7066CBC во время выполнения этого кода. Не удается выяснить, что происходит

Что происходит, так это то, что 4 байта в местоположении 0xB7066CBCнедоступны для записи.

Скорее всего, ваша проблема заключается в том, что рассуждения привели вас к мысли, что эти байты (или должны быть) доступны для записи, но поскольку вы не предоставили никакой подсказки относительночто бы это ни было, трудно предложить какую-либо помощь.

...