-
gcc main.c -o main.out //直接生成的文件不可調(diào)試 gcc -g main.c -o main.out //加-g選項(xiàng)后生成的main.out就支持調(diào)試功能了,并且要使gdb能夠找到源代碼才可調(diào)試(兩個(gè)條件缺一不可) gdb調(diào)試: gdb ./main.out l //列出當(dāng)前項(xiàng)目的源代碼 break 行號(hào) //打斷點(diǎn) start //啟動(dòng)調(diào)試 p 變量 //查看變量在內(nèi)存中的情況 n //執(zhí)行下一條語句 s //進(jìn)入函數(shù)內(nèi)部 bt //查看函數(shù)堆棧(當(dāng)前運(yùn)行的函數(shù),在棧頂) f 棧號(hào) //切換棧 q //退出調(diào)試查看全部
-
A查看全部
-
int (*quadrate)(int a) 函數(shù)指針指代碼段查看全部
-
在代碼段,按先后加載順序,先進(jìn)的小,后進(jìn)的大,相應(yīng)代碼段大小為它們的差值 global在數(shù)據(jù)段,使用同一地址 gcc 優(yōu)化: 同一類型變量會(huì)放到一起 32bit指針4個(gè)字節(jié)*8bit,64位=8個(gè)字節(jié)*8查看全部
-
記錄在棧內(nèi)存中 調(diào)用函數(shù)和其運(yùn)行到第幾行 有哪些變量,變量的值 棧從上往下,從大的地址往小的放入查看全部
-
CPU用地址總線尋址,有多少地址總線,就有多少種狀態(tài),就能尋找和使用多大的內(nèi)存 32bit CPU: 2^32 bit== 4GB 64bit CPU: 2^64 bit 64bit 中 前12個(gè)16進(jìn)制位表示程序可使用的內(nèi)存< 0xffffffffffff 其它的進(jìn)制位直接給操作系統(tǒng)> 0xffffffffffff 程序使用的內(nèi)存分為(低到高) 代碼段---加載代碼指令 數(shù)據(jù)段---全局變量 或 常量 const 數(shù)據(jù)和今代碼段一般規(guī)劃好了的 堆 動(dòng)態(tài)可分配內(nèi)存 棧 內(nèi)核查看全部
-
gcc -g 生成可以使用gdb調(diào)試的目標(biāo)代碼 gdb 內(nèi)命令 l 列出相關(guān)源代碼,l繼續(xù) b(reak) 斷點(diǎn)(當(dāng)前行) start 單步調(diào)試 n 下一執(zhí)行代碼 p 打印變量 s 進(jìn)入函數(shù) bt 顯示當(dāng)前函數(shù)堆棧 f 切換堆棧查看全部
-
內(nèi)存分配圖查看全部
-
const和全局在數(shù)據(jù)段。查看全部
-
64位系統(tǒng)可以管理2^64的內(nèi)存。查看全部
-
32 位的操作系統(tǒng),32的CPU查看全部
-
32個(gè)地址總線。查看全部
-
兩個(gè)地址總線。查看全部
-
一個(gè)地址總線。查看全部
-
練練手查看全部
舉報(bào)
0/150
提交
取消