色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

Hi,歡迎來到嵌入式培訓(xùn)高端品牌 - 華清遠(yuǎn)見教育科技集團(tuán)<北京總部官網(wǎng)>,專注嵌入式工程師培養(yǎng)15年!
當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > LinuxC的調(diào)試工具
LinuxC的調(diào)試工具
時間:2017-01-05作者:華清遠(yuǎn)見

在linux開發(fā)中,使用gcc做為編譯器,編譯程序產(chǎn)生出來的東西可以是非常高效的ELF可執(zhí)行文件。

但是我們今天來看的是非常有用的調(diào)試工具可以幫我們查看到一些文件細(xì)節(jié)。

第一個是 

nm

nm 工具可以列出文件中各部分的地址信息。

08049f28 d _DYNAMIC
        08049ff4 d _GLOBAL_OFFSET_TABLE_
        080484ac R _IO_stdin_used
        w _Jv_RegisterClasses
        08049f18 d __CTOR_END__
        08049f14 d __CTOR_LIST__
        08049f20 D __DTOR_END__
        08049f1c d __DTOR_LIST__
        080484bc r __FRAME_END__
        08049f24 d __JCR_END__
        08049f24 d __JCR_LIST__
        0804a014 A __bss_start
        0804a00c D __data_start
        08048460 t __do_global_ctors_aux
        08048330 t __do_global_dtors_aux
        0804a010 D __dso_handle
        w __gmon_start__
        0804845a T __i686.get_pc_thunk.bx
        08049f14 d __init_array_end
        08049f14 d __init_array_start
        080483f0 T __libc_csu_fini
        08048400 T __libc_csu_init
        U __libc_start_main@@GLIBC_2.0
        0804a014 A _edata
        0804a01c A _end
        0804848c T _fini
        080484a8 R _fp_hw
        08048290 T _init
        08048300 T _start
        080483b4 T abc
        0804a014 b completed.7065
        0804a00c W data_start
        0804a018 b dtor_idx.7067
        08048390 t frame_dummy
        080483c8 T kkk
        080483cd T main
        U puts@@GLIBC_2.0

想要得到上述結(jié)果,需要一個程序:

#include <stdio.h>
        void abc(void) {

printf("Hello,world/n");
        return;
        }

void kkk(void) {
        return ;
        }
        int main(int argc,char **argv) {
        ((void (*)())0x80483b4)();
        return 0;
        }

通過使用GCC編譯

gcc test.c

會生成一個a.out文件

然后直接使用

nm

就會得到屏幕上的結(jié)果了,

這個結(jié)果有什么用呢?

仔細(xì)觀察 nm 命令執(zhí)行的結(jié)果其中:

080483b4 T abc

的意思是abc函數(shù)的入口地址是0x080483b4

在程序中我們使用這個地址就可以直接調(diào)用函數(shù)abc,了解鏈接信息。

第二個程序是

addr2line

這個程序如果想要正常執(zhí)行,需要在編譯時加上-g選項

gcc test.c -g

這樣當(dāng)你輸入

addr2line 0x080483b4

時系統(tǒng)會報出abc所在的行

/home/linux/test_c/test.c:2

這些命令都會自動的查找a.out文件并加載分析,顯示你所需要的文件信息。

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達(dá)個人看法,并不表明本站同意其觀點或證實其描述)
色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 日韩欧美视频一区二区三区| 亚洲国产精彩中文乱码av在线播放| 九九热精品在线| 欧美成人精品在线播放| 欧美床上激情在线观看| 欧美日韩中文在线观看| 久久久久中文字幕2018| 欧美一性一乱一交一视频| 国产精品一二区| 日韩精品福利网站| 夜夜躁日日躁狠狠久久88av| 久久久99免费视频| 精品久久久久国产| 日韩av高清不卡| 91在线|亚洲| 在线视频欧美日韩| 黑人狂躁日本妞一区二区三区 | 国产丝袜高跟一区| 中文字幕一区二区精品| 欧美日韩中文字幕在线| 欧美综合第一页| 日韩激情在线视频| 久久久精品在线观看| 国内偷自视频区视频综合| 国产精品久久久久久久av电影| 日韩精品亚洲元码| 精品中文字幕在线| 国产精品∨欧美精品v日韩精品| 亚洲大胆人体在线| 不卡在线观看电视剧完整版| 欧美一级片免费在线| 亚洲精品电影在线观看| 欧美精品在线免费观看| 国产成人精品一区二区在线| 日韩电影网在线| 黑人巨大精品欧美一区免费视频| 国产精品91在线观看| 国产一区二区三区在线播放免费观看| 欧美精品在线免费播放| 成人高清视频观看www| 久久天天躁狠狠躁夜夜爽蜜月|