国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

淺談在linux kernel中打印函數調用的堆棧的方法

2024-09-05 23:03:18
字體:
來源:轉載
供稿:網友

在Linux內核調試中,經常用到的打印函數調用堆棧的方法非常簡單,只需在需要查看堆棧的函數中加入:

dump_stack(); 或 __backtrace(); 即可

dump_stack()在~/kernel/ lib/Dump_stack.c中定義

void dump_stack(void){ printk(KERN_NOTICE "This architecture does not implement dump_stack()/n");}__backtrace()的定義在~/kernel/arch/arm/lib/backtrace.S中 ENTRY(__backtrace) mov r1, #0x10 mov r0, fp

linux應用程序調試中,使用的方法是:

backtracebacktrace_symbols

可以在函數中加入如下代碼:

void *bt[20];  char **strings;  size_t sz; sz = backtrace(bt, 20);  strings = backtrace_symbols(bt, sz);     for(i = 0; i < sz; ++i)         fprintf(stderr, "%s/n", strings[i]);

以上就是小編為大家帶來的淺談在linux kernel中打印函數調用的堆棧的方法全部內容了,希望大家多多支持VEVB武林網~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹿泉市| 恩平市| 望谟县| 贵州省| 镇远县| 黄梅县| 茶陵县| 宁河县| 平顶山市| 三河市| 三门峡市| 海原县| 明溪县| 广南县| 房山区| 融水| 忻州市| 黑河市| 民丰县| 东至县| 两当县| 尼勒克县| 峨边| 高台县| 堆龙德庆县| 于都县| 昂仁县| 安陆市| 扬州市| 车险| 当涂县| 刚察县| 金山区| 乐山市| 志丹县| 黄浦区| 新兴县| 江华| 鹿泉市| 荣昌县| 凌源市|