BUG调试: Jump to the invalid address stated on the next line at 0x0: ???

gdb或者vlagrind报告:

==14569== Jump to the invalid address stated on the next line
==14569==    at 0x0: ???
==14569==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

 错误原因:函数通过jmp,call,ret等指令跳转到0x00,错误可能出现的范围

1.函数缓冲区溢出覆盖了返回地址,然后又调用了return,例如

#include <memory.h>

void main(void)
{
	int i;
	memset(&i,0,20);
	return;
}

 2.函数使用了未初始化的函数指针,例如

void (*func)(void);

void main(void)
{
	func();
}

 

转载于:https://www.cnblogs.com/codingMozart/p/4791141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值