你好伦敦+中文字幕,国产亚洲视品在线,日本欧美色情网一本道v,亚洲午夜性春猛交xxxx

您的位置:首頁(yè)>生活匯聚 >

ldd軟件怎么上色(ldd軟件的顏色添加方法)

ldd是一款Linux下的動(dòng)態(tài)連接庫(kù)查看工具,可以用來查看一個(gè)程序所需要的動(dòng)態(tài)庫(kù)信息。它的界面默認(rèn)是黑白色調(diào),不夠美觀,那么怎么才能給它添加顏色呢?下面提供一種方法。

1.使用LD_TRACE_LOADED_OBJECTS環(huán)境變量

使用這種方法需要在終端輸入以下命令:

exportLD_TRACE_LOADED_OBJECTS=1

ldd[文件名]

執(zhí)行后可以看到,命令行輸出顯示了很多顏色,其中綠色表示可執(zhí)行文件,藍(lán)色表示共享庫(kù),黃色表示數(shù)據(jù)段,紅色表示未加載的數(shù)據(jù)等等。

2.使用LD_COLOR環(huán)境變量

這種方法需要使用到LD_COLOR環(huán)境變量,需要在終端中使用以下命令:

exportLD_COLOR="yes"

ldd[文件名]

執(zhí)行后可以看到,界面將會(huì)出現(xiàn)各種顏色的字體,使整個(gè)界面更加美觀。

3.使用ldd的--color選項(xiàng)

ldd可以接受--color選項(xiàng),使用這個(gè)參數(shù)后,ldd的輸出同樣也會(huì)變成彩色的。具體方法是在終端中輸入以下命令:

ldd--color[文件名]

執(zhí)行后可以看到界面中出現(xiàn)了各種顏色的字體,跟方法二的效果基本一致。

4.使用LD_PRELOAD環(huán)境變量

使用這種方法需要先創(chuàng)建一個(gè)C程序來添加顏色,然后使用LD_PRELOAD環(huán)境變量來加載這個(gè)程序,具體方法如下:

編寫一個(gè)C程序,例如下面的代碼:

#include<stdio.h>

#include<dlfcn.h>

void*(*real_dlsym)(void*,constchar*);

volatileintenable_color=1;

void*dlsym(void*handle,constchar*symbol)

{

if(real_dlsym==NULL)

{

real_dlsym=dlsym(RTLD_NEXT,"dlsym");

}

if(strcmp(symbol,"write")==0)

{

void*ptr=real_dlsym(handle,symbol);

returnptr;

}

returnreal_dlsym(handle,symbol);

}

ssize_twrite(intfd,constvoid*buf,size_tcount)

{

if(enable_color)

{

constchar*reset="\033[0m";

constchar*green="\033[32m";

constchar*red="\033[31m";

constchar*yellow="\033[33m";

if(count>=7&&memcmp(buf,"ldd:",4)==0&&memcmp(buf+4,"warning:",9)==0)

{

constchar*p=buf+strlen("ldd:warning:");

if(strncmp("cannotresolvesymbol",p,22)==0)

{

write(fd,red,strlen(red));

write(fd,"Error:",strlen("Error:"));

write(fd,reset,strlen(reset));

enable_color=0;

}

elseif(strncmp("skippedincompatiblelibrary",p,28)==0)

{

write(fd,yellow,strlen(yellow));

write(fd,buf,count);

write(fd,reset,strlen(reset));

}

else

{

write(fd,green,strlen(green));

write(fd,buf,count);

write(fd,reset,strlen(reset));

}

returncount;

}

}

上述代碼中通過LD_PRELOAD變量來替換write函數(shù)的實(shí)現(xiàn)。最后將代碼保存為libcolor.c。然后在終端輸入以下命令:

gcc-fPIC-sharedlibcolor.c-olibcolor.so

exportLD_PRELOAD=$(pwd)/libcolor.so

ldd[文件名]

執(zhí)行后可以看到,ldd的各個(gè)輸出信息都被帶有顏色了,常見的錯(cuò)誤信息顏色也更加明顯。

5.使用lddtree工具

lddtree是一個(gè)輔助ldd的工具,它可以自動(dòng)將所有在執(zhí)行指定二進(jìn)制文件所需要用到的動(dòng)態(tài)庫(kù)或鏈接庫(kù)打印出來,并排列在一棵樹中,非常方便,同時(shí)它也支持顏色輸出,具體方法如下:

sudoapt-getinstalllddtree

lddtree-l-C[二進(jìn)制文件名]

執(zhí)行后可以看到,lddtree的輸出信息都帶有不同的顏色,而且比較明顯,也很容易區(qū)分。

6.使用其他軟件

也可以使用其他軟件來代替ldd實(shí)現(xiàn)上色的效果,例如gdb可以使用“display”命令來顯示某個(gè)變量的值,同時(shí)也可以顯示這個(gè)變量所屬的庫(kù)文件或者文件名,同時(shí)它也支持顏色輸出,非常方便。

這些就是ldd軟件怎么上色的幾種方法,根據(jù)自己的需要選擇即可。

版權(quán)聲明

豐贏文化網(wǎng)部分新聞資訊、展示的圖片素材等內(nèi)容均來自互聯(lián)網(wǎng)(部分報(bào)媒/平媒內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò)合作媒體),僅供學(xué)習(xí)交流。本文的知識(shí)產(chǎn)權(quán)歸屬用戶或原始著作權(quán)人所有。如有侵犯您的版權(quán),請(qǐng)聯(lián)系我們 一經(jīng)核實(shí),立即刪除。并對(duì)發(fā)布賬號(hào)進(jìn)行封禁。


本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。