加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

排错-Error--memory violation  Exception ACCESS_VIOLATION received解决方

(2014-12-05 09:08:35)
标签:

memory

access_violation

exception

violation

loadrunner

分类: Loadrunner

Error -- memory violation : Exception ACCESS_VIOLATION received

 

by:授客 QQ1033553122

测试代码:

Action()

{

    char *a = NULL;

    strcpy(a, "shouke");

    return 0;

}

 

运行报错:

Action.c(4): Error: C interpreter run time error: Action.c (4):  Error -- memory violation : Exception ACCESS_VIOLATION received.

Action.c(4): Notify: CCI trace: Action.c(4): strcpy(0x00000000, 0x032b0111 "shouke")

.

Action.c(4): Notify: CCI trace: Compiled_code(0): Action()

 

原因分析:

char *a = NULL; a为指向栈内存的指针,暂时值为NULL,指向内存为空。所以,不能用于存放内容。

 

改正方法:

法一,用数组开辟栈内存

Action()

{

    #char *a = NULL;

    char a[20]={0};

    strcpy(a, "shouke");

    return 0;

}

 

法二,开辟堆内存:

Action()

{

    char *a = NULL;

    a = (char *)malloc(sizeof(char)*20);

    strcpy(a, "shouke");

    free(a);

    a = NULL;

    return 0;

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有