gdb調(diào)試查看調(diào)用棧信息 vim如何查看一個(gè)函數(shù)被哪些函數(shù)調(diào)用過?
vim如何查看一個(gè)函數(shù)被哪些函數(shù)調(diào)用過?通常,在調(diào)試期間觀察函數(shù)的調(diào)用關(guān)系或監(jiān)視變量的變化。這種動(dòng)態(tài)觀測(cè)比靜態(tài)觀測(cè)更有意義。靜態(tài)觀察是指代碼級(jí)分析。不管編輯器有多強(qiáng)大,都不可能分析代碼的運(yùn)行時(shí)調(diào)用。例
vim如何查看一個(gè)函數(shù)被哪些函數(shù)調(diào)用過?
通常,在調(diào)試期間觀察函數(shù)的調(diào)用關(guān)系或監(jiān)視變量的變化。這種動(dòng)態(tài)觀測(cè)比靜態(tài)觀測(cè)更有意義。靜態(tài)觀察是指代碼級(jí)分析。不管編輯器有多強(qiáng)大,都不可能分析代碼的運(yùn)行時(shí)調(diào)用。
例如,使用GDB中的watch監(jiān)視變量,使用break BT觀察函數(shù)的調(diào)用堆棧。如果只想知道函數(shù)調(diào)用關(guān)系,還可以使用Gprof類似的軟件生成函數(shù)調(diào)用表。
gdb主要指的是哪些?
使用以下兩個(gè)命令:next//執(zhí)行下一行源代碼,但不要進(jìn)入調(diào)用函數(shù)。步驟//執(zhí)行下一行源代碼,并輸入函數(shù)。此時(shí),可以在調(diào)用函數(shù)中添加斷點(diǎn)。GDB中的函數(shù)調(diào)用:call name調(diào)用并執(zhí)行一個(gè)函數(shù)(GDB)call Gen和Sork(1234,1,0)(GDB)call printf(“ABCD”)=4finish結(jié)束當(dāng)前函數(shù)的執(zhí)行并顯示其返回值(如果有)