国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临城县| 常山县| 比如县| 丹江口市| 东兴市| 中西区| 民丰县| 张家港市| 桑植县| 县级市| 平昌县| 铜鼓县| 新疆| 通山县| 温泉县| 苏尼特右旗| 乌兰察布市| 资溪县| 唐海县| 左权县| 巩留县| 资溪县| 临泽县| 泸溪县| 利川市| 石河子市| 贵州省| 禹州市| 怀柔区| 西昌市| 尉氏县| 曲周县| 霸州市| 威海市| 安阳市| 临朐县| 通河县| 卓尼县| 马鞍山市| 大同市| 汉寿县|