当前位置: 首页 > news >正文

万户做的网站安全吗万网注册域名

万户做的网站安全吗,万网注册域名,wordpress 安装的时候是英文,大学生个人网页设计代码简介 谷歌有一系列Sanitizer工具,可用于排查程序中内存相关的问题。常用的Sanitizer工具包括: Address Sanitizer(ASan):用于检测内存使用错误。Leak Sanitizer(LSan):用于检测内存…

简介

谷歌有一系列Sanitizer工具,可用于排查程序中内存相关的问题。常用的Sanitizer工具包括:

  1. Address Sanitizer(ASan):用于检测内存使用错误。
  2. Leak Sanitizer(LSan):用于检测内存泄漏。
  3. Thread Sanitizer(TSan):用于检测多线程间的数据竞争和死锁。
  4. Memory Sanitizer(MSan):用于检测使用未初始化内存的行为。
    本文重点介绍ASan工具的使用。

ASAN工具作用

ASan工具可以检测出程序不可理使用内存的行为,主要包括:

注:ASan内部包含LSan,故ASan也可以用来检测内存泄漏相关问题。

ASAN工具原理

  1. 在编译时,ASan会替换malloc/free接口;
  2. 在程序申请内存时,ASan会额外分配一部分内存(影子内存)来标识改内存的状态;
  3. 在程序使用内存时,ASan会额外进行判断,确认该内存是否可以被访问,并在访问异常时给出错误信息。

ASAN工具安装

ASan已经集成在GCC 4.8中,但GCC 4.9及以上版本才支持 Address Sanitizer 的所有功能。
在这里插入图片描述
可知,当前GCC版本已支持ASan,故无须再安装。

ASAN工具使用

GCC编译选项

-fsanitize=address:开启内存越界检测;
-fsanitize-recover=address:一般后台程序为保证稳定性,不能遇到错误就简单退出,而是继续运行,采用该选项支持内存出错之后程序继续运行,需要叠加设置ASAN_OPTIONS=halt_on_error=0才会生效;若未设置此选项,则内存出错即报错退出;
-fno-stack-protector:去使能栈溢出保护;
-fno-omit-frame-pointer:去使能栈溢出保护

ASAN调试示例

测试示例一

测试程序

  1 #include <stdio.h>2 #include <stdlib.h>3 #include <string.h>4 5 void func(void)6 {7         char* str = NULL;8         memcpy(str, "test", sizeof("test"));9 }10 11 int main(void)12 {13         printf("hello world!\n");14 15         func();16 17         return 0;18 }

按如下方式编译,并执行测试

lx@lx-virtual-machine:~/asan$ gcc main.c -fsanitize=address -fsanitize-recover=address -fno-stack-protector -fno-omit-frame-pointer
lx@lx-virtual-machine:~/asan$ 
lx@lx-virtual-machine:~/asan$ ./a.out 
hello world!
ASAN:DEADLYSIGNAL
=================================================================
==6880==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000001 (pc 0x7fd7df251255 bp 0x7ffc24aea420 sp 0x7ffc24ae9b88 T0)
==6880==The signal is caused by a WRITE memory access.
==6880==Hint: address points to the zero page.#0 0x7fd7df251254  (/lib/x86_64-linux-gnu/libc.so.6+0xbb254)#1 0x7fd7df6006ce  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x796ce)#2 0x5637740ca9b1 in func (/home/lx/asan/a.out+0x9b1)#3 0x5637740ca9c9 in main (/home/lx/asan/a.out+0x9c9)#4 0x7fd7df1b7c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)#5 0x5637740ca8a9 in _start (/home/lx/asan/a.out+0x8a9)AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0xbb254) 
==6880==ABORTING

在这里插入图片描述
可知,测试结果符合分析预期。

参考

https://blog.csdn.net/qq_15437629/article/details/114440930

http://www.tj-hxxt.cn/news/78685.html

相关文章:

  • 搭建网站服务器需要什么配置线下推广公司
  • 如何自己做框架开发网站网络销售有哪些
  • 湘潭网站建设方案案例上海网站设计公司
  • 好素材网站猪肉价格最新消息
  • 做初中试卷的网站如何优化网站推广
  • 深圳服装网站建设长春网络优化最好的公司
  • 东莞专业微网站建设价格低苏州seo服务热线
  • 厦门过路费网站韶关疫情最新消息
  • 个人注册的网站可以做公司宣传用吗北京seo运营推广
  • 网站做推广的团队网络推广费用高吗
  • 京东优惠券网站建设郑州网络推广大包
  • 昆明做网站词排名优化百度号码查询平台
  • 电子口岸网站做资料库郑州免费做网站
  • 做网站建设销售员准备什么如何进行搜索引擎优化?
  • 如何用爬虫做网站监控快照网站
  • 网站开发使用架构seo网站推广有哪些
  • 怎么做电影网站页面的seo是什么字
  • 郑州 互联网 公司网站百度关键词优化快速排名软件
  • h5响应式网站源码互联网营销师证书是国家认可的吗
  • 网站管理员登陆后缀百度推广营销页
  • 怎么学建网站广告多的网站
  • 一个网站做多少关键词国内永久免费云服务器
  • 珠海企业集团网站建设国内最新新闻
  • 制作网站报价单关键词优化快速排名
  • html嵌入网站seo策略主要包括
  • 苹果直播软件下载网站信息流广告投放工作内容
  • 网站被攻击了怎么办广东疫情防控措施
  • 中山住房和建设局工程交易网站网络营销题库案例题
  • 网站管理入口怎么给自己的公司建立网站
  • 宝鸡微网站建设武汉seo创造者