-
内存规划查看全部
-
1byte = 8bit 1字节 = 8进制位查看全部
-
1.编译命令:gcc -g main.c -o main.out; 2.调试命令:gdb ./main.out; 3.调试器: (gdb)list:列出源代码; (gdb)break line-number:在指定行数打断点; (gdb)start:开启单步调试; (gdb)p a:打印a变量在内存中的情况; (gdb)n:执行到下一句; (gdb)s:进入函数内部; (gdb)bt:查看函数堆栈; (gdb)f 1:切换到编号为1的函数中; (gdb)q:退出调试;查看全部
-
1.编译命令:gcc -g main.c -o main.out; 2.调试命令:gdb ./main.out;[加了`-g`参数生成的可执行文件才能被gdb调试 但依然不能删除源代码然后用gdb命令读取可执行文件:`gdb ./main.out`] 3.调试器:(gdb)list:列出源代码;(gdb)break line-number:在指定行数打断点;(gdb)start:开启单步调试;(gdb)p a:打印a变量在内存中的情况;(gdb)n:执行到下一句;(gdb)s:进入函数内部;(gdb)bt:查看函数堆栈;此时,#0是change,#1是main;(gdb)q:退出调试;(gdb)f 1:切换到编号为1的函数中;[f:切换堆栈,此时`f 1`跳回main函数,这里还没有执行change]查看全部
-
交换了a和b所指的内容和单纯交换5 3的区别65 变量的作用域查看全部
-
栈的内存分配从大到小,函数为于该区域 数据段的内存分配从小到大,全局变量/常量/静态变量位于该区域查看全部
-
函数指针查看全部
-
指针: 声明: int * <变量名> 赋值: * <变量名> = VALUE,将VALUE写入<变量名> 所在地址 * <变量名1> = * <变量名2>,将<变量名2>中的内容写入<变量名1> 所在地址 形参/实参传递: 实参采用 & <变量名> 形式传递查看全部
-
GDB查看全部
-
调试编译 gcc a.c -g gdb 开始start 查看代码 list 下一步n 打印p查看全部
-
代码段地址不允许程序修改,堆栈内存允许程序修改查看全部
-
指针保存的就是内存的地址查看全部
-
代码段的内容不能随意修改查看全部
-
x/3d 0xfffffffffffffff连续显示3个查看全部
-
64位指针占8个字节查看全部
举报
0/150
提交
取消