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

您的位置:首頁>生活匯聚 >

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

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

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

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

exportLD_TRACE_LOADED_OBJECTS=1

ldd[文件名]

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

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

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

exportLD_COLOR="yes"

ldd[文件名]

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

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

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

ldd--color[文件名]

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

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

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

編寫一個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的各個輸出信息都被帶有顏色了,常見的錯誤信息顏色也更加明顯。

5.使用lddtree工具

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

sudoapt-getinstalllddtree

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

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

6.使用其他軟件

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

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

版權(quán)聲明

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


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