memcpy():访问冲突写入位置

问题描述 投票:-1回答:1

我正在运行此代码时获取访问冲突写入位置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 {???}
exception memory segmentation-fault memcpy
1个回答
0
投票

我正在运行此代码时获取访问冲突写入位置0xB7066CBC。无法弄清楚发生了什么

发生的事情是位置0xB7066CBC的4个字节不可写。

你的问题很可能在于任何推理使你相信这些字节是(或应该是)可写的,但由于你没有提供任何关于这种推理可能的线索,因此很难提供任何帮助。

© www.soinside.com 2019 - 2024. All rights reserved.