创建bazel 工程
代码风格
选中代码块
ctrl+alt+L
debug
可以查看调用栈
查看函数被谁调用
1.点被调函数
2.没有的话 可能是多态 点父类的函数看看
返回上一步操作
ctrl+alt+键盘左右键
变量
可以查看值
修改值
不能创建新的
查看类的子类
1.选中类名
2.ctrl+H
条件断点
一些设置
1.卡
关闭插件
堆内存调大
2.git 不同步
reload all from disk
3.代码提示
https://www.cnblogs.com/aoyihuashao/p/9362003.html
https://cloud.tencent.com/developer/article/2222985
google mock是用来配合google test对C++项目做单元测试的
https://blog.csdn.net/sinat_31608641/article/details/127254194
TEST
TEST_F
https://blog.csdn.net/sevenjoin/article/details/89962344
EXPECT_
ASSERT_
https://blog.csdn.net/u012516571/article/details/116467334
https://www.cnblogs.com/pam-sh/p/17366898.html
1 ide
2 命令行
https://www.51cto.com/article/747063.html
X86采用CISC复杂指令集计算机
X86则是主要应用于Intel,AMD等PC机
ARM采用的是RISC精简指令集计算机
ARM主要应用于移动终端之中,类如手机,平板
https://developer.aliyun.com/article/343804
内存泄露:就是内存持续上涨的现象
内存溢出:内存不够用了
1.内存碎片
2.手动申请的内存没有释放
1 tcmalloc
2 jemalloc
把jemalloc 编到包里
生成map 转成svg
对比变化
3 asan
4 valgrind
内存峰值
常驻内存
valgrind 分析内存
pahole 分析内存
https://blog.csdn.net/zju_fish1996/article/details/108858577
https://blog.csdn.net/weixin_41055260/article/details/118586493
https://blog.csdn.net/u013554213/article/details/95959598
https://www.cnblogs.com/fanblogs/p/12658860.html
当程序发生崩溃时 系统会core dump
1.系统开启core dump
2.查询core dump文件路径
3.修改core文件的路径
https://c-cpp.com/c/program/SIG_types
1.指针二次释放
2.并发问题
3.内存访问越界
4.除0
5.野指针
1 有core文件
gdb 带符号表的包 core文件
bt
2 日志打印调用栈
minidump
3 没有core文件,日志也没有打印调用栈
1.计算地址偏移
需要日志dump出来core的函数地址和首地址
地址偏移=core的函数地址-首地址
2.根据地址偏移确定core函数
gdb
addr2line
addr2line -e 带符号表的包 地址偏移 -f -C