-
內存規劃查看全部
-
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
提交
取消