新聞中心
稱

本文講述了如何利用 linux 系統(tǒng)調試,打印函數(shù)名稱的方法。 此需求在程序調試和程序改進過程中被用作定位代碼錯誤的重要方式,特別是在C/C++等語言應用時更是能夠顯示出很大作用。
在Linux系統(tǒng)中調試的首要方法就是使用 gdb 調試器,該調試器可以提供多種功能,從而實現(xiàn)用戶所需的功能。首先,要獲取程序運行時的函數(shù)名稱,需要在程序源文件中插入如下代碼:
#include
static void __cyg_profile_FUNC_enter (void *func, void *caller)
{
printf("ENTER: %p\n", func);
}
static void __cyg_profile_func_exit (void *func, void *caller)
{
printf("EXIT: %p\n", func);
}
在源文件中增加上述代碼后,在進行編譯時需要增加鏈接選項 –finstrument-functions,編譯指令如下:
gcc –finstrument-functions source code.c -o program
編譯好之后,可以運行gdb來查看插入的函數(shù)名;
gdb program
(gdb) start
再查看函數(shù)名稱:
(gdb) info func
可以使用info func 來打印出程序調用的全部函數(shù)名稱,包括本次運行時進入及離開的函數(shù)。可以利用此方法來定位所有函數(shù)的調用,有助于定位程序中出現(xiàn)的錯誤。
總之,Linux系統(tǒng)通過gdb及以上代碼插入等方法,可以將源程序增強,實現(xiàn)有關程序調試能力,并打印出相應的函數(shù)名稱,從而快速定位問題代碼并實現(xiàn)更高的調試效率。
成都創(chuàng)新互聯(lián)科技公司主營:網站設計、網站建設、小程序制作、成都軟件開發(fā)、網頁設計、微信開發(fā)、成都小程序開發(fā)、網站制作、網站開發(fā)等業(yè)務,是專業(yè)的成都做小程序公司、成都網站建設公司、成都做網站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網站制作策劃,畫冊、網頁、VI設計,網站、軟件、微信、小程序開發(fā)于一體。
文章標題:利用Linux系統(tǒng)調試:打印函數(shù)名(linux打印函數(shù)名)
網站鏈接:http://www.5511xx.com/article/dhcjhhs.html


咨詢
建站咨詢
