GoGPT Best VPN GoSearch

OnWorks favicon'u

dwarfdump - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında dwarfdump çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen dwarfdump komutudur.

Program:

ADI


dwarfdump - bir ELF nesnesinin DWARF hata ayıklama bilgilerini döker

SİNOPSİS


cüce çöplüğü [seçenekler] nesne dosya adı

AÇIKLAMA


The cüce çöplüğü komutu, belirli seçenekler tarafından istendiği gibi Cüce bölümlerini yazdırır veya kontrol eder.
Seçeneksiz (ancak gerekli nesne dosya adı ) tüm bölümler yazdırılır (ancak bazıları
bölümler bağımsız olarak güvenli bir şekilde yazdırılamaz, bu nedenle bunlar yalnızca ofsetlerde yazdırılır
burada .debug_info bölümü bu bölümlere atıfta bulunur).

Haziran 2011 itibariyle, yazdırma seçenekleri ve kontrol seçenekleri birbirini dışlar (eğer
kontrol seçenekleri seçildiğinde, bölüm ayrıntıları yazdırılmaz). hatalar olduğunda
karşılaşılan dwarfdump, kişinin anlayabilmesi için yeterli bağlamı yazdırmaya çalışır
tam olarak hatanın Cüce'de olduğu yer. Bu değişiklik, gerçekten büyük bir nesnenin kontrol edilmesini sağlar
dosyalar çok daha kolay.

Biçimin insan tarafından okunabilir olması amaçlanmıştır. Bir betik çıktıyı ayrıştıracaksa, -d
seçenek yararlıdır.

Belirli bir nesne dosyasında tüm bölümler aslında mevcut değildir.

Format, sürümden sürüme değişebilir, bu nedenle çok fazla bağımlı olmak akıllıca değildir.
biçim.

Çerçeve bilgisi (.debug_frame ve .eh_frame) büyük ölçüde ABI/ISA'ya bağlıdır.
nesne dosyası. Varsayılan olarak, 100'e kadar işlem yapan genel bir kayıt adı seti kullanırız.
r0-100 adlı kayıtlar. '-R' seçeneği, yerleşik bir genel kayıt adı kümesi kullanır
r1200-r0 adlı 1199 adede kadar kayıt işleme. '-x abi= ' aşağıdaki açıklama gösterir
bir abi'ye nasıl isim verilir ve -f veya -F işlemine kılavuzluk etmek için bu kullanılır. için işlemci olmadığı sürece
atılan nesne dosyasının birçok kaydı var, -R veya -x abi=generic kullanmayın.
çerçeve bölümlerinin gereksiz yere yavaş boşaltılması. Bunun yerine, doğru abi'yi kullanın (eğer varsa
dwarfdump.conf) veya -x abi=generic100 veya -x abi=generic500 gibi bir jenerik. Almak için
MIPS/IRIX kayıt adları adları ve eski sürüm 2 libdwarf çerçeve arabirimini çağırın
'-x abi=mips' seçeneği. '-R' veya '-x abi= olmadan ' dwarfdump, dwarfdump.conf'u yok sayar
dosya ve derlenmiş genel kayıt adları kümesini kullanır. '-x adı= yoksa ' verilmiş,
dwarfdump "./dwarfdump.conf", "$HOME/.dwarfdump.conf", "
prefix>/lib/dwarfdump.conf" ve bulduğu ilki alır. Bir veya daha fazla '-x name= ise '
bunların sonuncusu kullanılır ve bu tür diğer tüm dosyalar yok sayılır.

Bazı -k (kontrol) seçenekleri zararsız hatalar olarak adlandırılanları yazdırır. Bunlar derleyici hataları
bunlar bilinen herhangi bir soruna neden olmaz ve yalnızca libdwarf'ın kendi içinde algılanır. Bunlar
dwarfdump'ta düzgün bir şekilde rapor etmek zordur ve herhangi bir hata dizesi yakın görünmeyebilir
hatayla karşılaşıldığı zamana kadar.

URI STİL GİRİŞ TELLER


NS ve ad dizelerini alan seçenekler URI'leri arar ve
URI dizeleri varsayılan olarak karakterlere dönüştürülür (bkz. -x, -c , -S, -u). Yani herhangi bir %
karakter, aşağıdaki iki karakter,
altında yatan gerçek karakter. Kabuklar için çeşitli karakterler anlamlıdır (bash veya
sh) ve getopt (boşluk karakteri gibi) URI çevirisi herhangi bir şey yaparsa
URI çevirisinin öncesini ve sonrasını standart çıktıya yazdırır, bu nedenle
URI'nin bir şey yapıp yapmadığını ilk çıktı satırları gösterecektir. Gerçek seçenekler kendilerini
URI olmadığı varsayılır. Dolayısıyla '-cS&T' seçeneğinde -c kısmı URI olmayan olmalıdır, ancak
& karakteri giriş sorunlarına neden olabilir, bu nedenle bunun yerine '-cS%26T' kullanılabilir. Aslında
tek bir % karakteri girin (örneğin bir adda), komut satırında %% olarak ikiye katlayın.

Seçenekler -U (URI yorumlamasını kapatma) ve -q (URI dizilerini bulmayı sessiz hale getirme)
URI yorumlamasının daha iyi kontrolünü sağlar. PP Örnek olarak, bir string'a b' elde etmek için
'a%20b' dizesi (burada alıntı ('), alıntı olsa da dizenin bir parçası olmayan açıklama içindir
kesinlikle bir isimde sorunlu). Dizedeki " tırnak işaretinden kaçmak yerine şunu yazın
%25, olduğu gibi
'a "b' yazılmalıdır 'a%20%25b' URI stilinde herhangi bir karakter yazılabilir, sadece
kabuk veya getopt için sorunlu karakterler. Yazmamanızı şiddetle tavsiye ederiz
URI tarzı karakterler gerekli olmadığında veya komutta % karakterinin kendisini kullanın
gerekmedikçe satır dizeleri.

BASKI SEÇENEKLER


-a Her bölümü mümkün olduğunca bağımsız olarak yazdırın. Güvenli bir şekilde olabilecek bölümler
bağımsız olarak yazdırılır (.debug_abbrev gibi) raporda ilgili bilgileri yazdırır
(bazen -v'ye bağlıdır).

-b .debug_abbrev bölümünü yazdırın. Cüce özellikleri dışlanmadığı için
.debug_abbrev'deki çöp veri alanları (.debug_info'dan referans alınmıyorlarsa)
herhangi bir çöp bayt, bu yazdırmanın başarısız olmasına neden olabilir.

-c Konum listelerini yazdırın.

-f .debug_frame bölümünü yazdırın.

-F .eh_frame bölümünü yazdırın.

-i .debug_info bölümünü yazdırın.

-l .debug_info bölümünü ve ilgili satır bölümü verilerini yazdırın.

-m .debug_macinfo bölümünü yazdırın.

-N .debug_ranges bölümünü yazdırın. Cüce özellikleri dışlanmadığı için
.debug_ranges içindeki çöp veri alanları (.debug_info'dan referans alınmıyorlarsa)
herhangi bir çöp bayt, bu yazdırmanın başarısız olmasına neden olabilir.

-p .debug_pubnames bölümünü yazdırın.

-r .debug_aranges bölümünü yazdırın.

-s .debug_string bölümünü yazdırın.

-ta IRIX'i yalnızca .debug_static_funcs ve .debug_static_vars bölümlerini yazdırın.

TF Yalnızca IRIX bölümünü .debug_static_funcs yazdırın.

-televizyon Yalnızca IRIX bölümünü .debug_static_vars yazdırın.

-w Yalnızca IRIX'e özel .debug_weaknames bölümünü yazdırın.

-y .debug_pubtypes bölümünü (ve .debug_typenames, yalnızca bir SGI IRIX bölümü) yazdırın.

Dwarfdump baskı yer değiştirmelerine sahip olmak, dwarfdump'ın herhangi bir şeyi anlayıp anlamadığını belirlemeye yardımcı olabilir.
olabilecek yer değiştirmeler.

-o Yönetebildiğimiz kadar tüm yer değiştirme kayıtlarını yazdırın.

-Oi .rel*debug_info yer değiştirmelerini yazdırın.

ol .rel*debug_line yer değiştirmesini yazdırın.

-op .rel*debug_pubnames yer değiştirmesini yazdırın.

-oa Etkisi yok.

Ya da .rel*debug_aranges yer değiştirmelerini yazdırın.

-nın-nin .rel*debug_frame yer değiştirmelerini yazdırın.

-Oo .rel*debug_loc yer değiştirmelerini yazdırın.

-veya .rel*debug_ranges yer değiştirmelerini yazdırın.

-g Normalde yalnızca libdwarf'ı test etmek için kullanılır, bu dwarfdump'a .debug_info'yu yazdırmasını söyler.
ve daha eski bir dwarf_loclist() arabirim işlevi kullanın (işleyemeyen bir işlev
tüm geçerli konum listeleri).

-V Bir dwarfdump tarih/sürüm dizesi yazdırın ve durdurun.

KONTROL SEÇENEKLER


-cg Yapımcı dizgisi 'GNU' ile başlayan ve dönen derleyicilerle denetimi kısıtlar
kapalı -cs .

CS Yapımcı dizisi 'SN' ile başlayan ve dönen derleyicilerle denetimi kısıtlar
kapalı -cg .

-cname Yapımcı dizesi 'ad' içeren derleyicilerle denetimi kısıtlar (büyük/küçük harf değil
duyarlı). 'Ad' bir URI dizesi olarak okunur.

-ka : Turns on herşey denetleme seçenekleri dışında -kxe (-kxe olabilir
Yeterince yavaş olun, rutin olarak kullanmak istemeyebilirsiniz.)

-kb : Çekler için belli kısaltmalar Bölüm hataları ne zaman okuma
ölür.

-kc debug_info içindeki sabitlerdeki hataları kontrol eder.

-kd Üretici başına hata toplamlarının tam raporlanmasını açar. (varsayılan daha az gösterir
detay).

-ke Yayın adlarını okumayı ve fde hatalarını kontrol etmeyi açar.

-kf FDE hatalarını denetlemeyi açar.

-kF Satır tablosu hatalarını denetlemeyi açar.

-kilogram .debug_info içindeki kullanılmayan boşlukları kontrol etmeyi açar (bu boşluklar bir hata değildir, sadece
yer israfı).

-ki Yazdırılacak derleyici (üretici) başına kontrol sonuçlarının bir özetinin yazdırılmasına neden olur.
sonu.

-cl Konum listesi kontrolünü açar.

-km Aralıkların kontrolünü açar.

-kM Aranjmanların kontrolünü açar.

-kr DIE etiket-attr kombinasyonları kontrolünü açar.

-kR DIE'leri okumayı ve DW_AT_specation'dan ileriye dönük bildirimleri kontrol etmeyi açar
Öznitellikler. (bu bir hata değildir, ancak aşağıdakiler için verimsizlik kaynağı olabilir)
hata ayıklayıcılar).

-ks Bazı DIE hata denetimi algılamaları için ek raporlamayı açar.

-kS Döngüsel referanslar için DIE referanslarını kontrol etmeyi açar.

-kt Etiket-etiket kombinasyonları kontrolünü açar.

-kx check_frames'i açar.

-kxe Temel check_frame'leri kapatır ve genişletilmiş çerçeve kontrolünü açar.

-ky type_offset, decl_file kontrolünü açar,

SEÇENEK DEĞİŞTİRİCİLER


-C Normalde etiket-etiket veya etiket-özellik kombinasyonlarını kontrol ederken hem standart
kombinasyonlara ve bazı yaygın uzantılara izin verilir. -C ile uzantılar
izin verilen kombinasyon sınıfından çıkarılır.

-d DIE'leri yazdırırken, her bir DIE için tüm öznitelikleri aynı (uzun) satıra şu şekilde koyun:
etiket. Bu, DIE bilgilerini (grep ile olduğu gibi) aramayı şu şekilde çok daha basit hale getirir:
tüm DIE tek satırdadır.

-D Yazdırılan çıktıdaki kesit ofsetlerinin ve öznitelik değerlerinin görüntüsünü kapatır.
Dolayısıyla, .debug_info çıktısı yalnızca ETİKETLER ve Nitelikler'dir. Pubnames (ve benzeri) için
çıktıdan ofsetleri kaldırır. Konum listeleri için uzaklıkları kaldırır.
çıktı, ancak öznitelik değerleri de gösterilmediğinden bu işe yaramaz
konum verilerini yapar.

-e Öznitelik ve etiket adlarının kesilmesini açar. Örneğin, DW_TAG_foo olur
foo. Kontrol ile uyumlu değildir, yalnızca DIE'leri yazdırmak için kullanışlıdır.

-G Yazdırırken, yazdırılan ofsetlere global ofsetler ekleyin.

-H numara
.debug_info'yu yazdırırken veya kontrol ederken, bu, 'sayı'dan sonra aramayı sonlandırır
derleme birimleri. Çerçeve bilgilerini yazdırırken bu, FDE'yi sonlandırır
'sayı' FDE'lerden ve CIE raporlamasından sonra raporlama (ki bu, -v eklenirse gerçekleşir)
'sayı' CIE'lerinden sonra. Örnek '-H 1'

-M Yazdırırken bu, her öznitelik için FORM'un gösterilmesinin istendiği anlamına gelir. Eğer bir
-v ayrıca eklenir (veya birden fazla), daha sonra herhangi bir dolaylı yolun ayrıntıları da
gösterilen.

-n Çerçeveleri yazdırırken, bu işlev adlarının aranmasını kapatır. gerçekten
büyük nesne, arama beklemekten daha fazla zaman alabilir, bu nedenle
Araştırma.

-Q Bölüm verilerinin yazdırılmasını engeller (bir kontrol seçeneğiyle otomatik olarak ayarlanır).

-R Çok sayıda kayıt içeren ABI'ler için çerçeveler yazdırırken, bu, 1200'e kadar izin verir
örneğin '-x ile bir ABI seçmeden adlandırılacak (R999 gibi) kayıtlar
abi=ppc'

-v Yazdırırken gösterilen ayrıntıyı artırır. Bazı bölümlerde daha fazla -v seçeneği kullanma
ayrıntıyı artıracak (bir ila üç yararlıdır) veya raporu şu şekilde değiştirebilir:
örneğin, sonuçtaki satır-veri-komutları yerine gerçek satır-veri-komutlarını göster
tablo.

SEÇİCİ GİRİŞ BASKI


Bu -S seçenekleri tek başına ve derleme birimi hakkında temel yazdırma bilgileri ve
Dize(ler)in göründüğü yerde DIE. Aşağıdakilerden en fazla biri etkilidir (yani
örnek, yalnızca bir "eşleşme" olabilir, ancak bir "eşleşme", "herhangi biri" ve bir "eşleşme" olabilir.
'normal ifade'). Herhangi bir -S, .debug_info bölümünün incelenmesine neden olur. Kontrol seçeneği yok veya
baskı seçenekleri -S ile sağlanmalıdır.

-S eşleşme=dize
'Dize' ile eşleşen her etiket değeri veya nitelik adı için DIE'leri yazdırırken
derleme birimi bilgilerini ve bölüm ofsetini tam olarak yazdırın. ile herhangi bir CU
hiçbir eşleşme yazdırılmaz. 'Dize' bir URI dizesi olarak okunur.

-S herhangi bir=dize
'Dize' içeren her etiket değeri veya nitelik adı için DIE'leri yazdırırken
etikette veya öznitelikte bir yerde (büyük/küçük harfe duyarlı değil) derleme birimini yazdırın
bilgi ve bölüm ofseti. Eşleşmeyen herhangi bir CU yazdırılmaz. NS
'string' bir URI dizgisi olarak okunur.

-S normal ifade=dize
'Dize'nin gerekli olduğu her bir etiket değeri veya nitelik adı için DIE'leri yazdırırken
ifade eşleşmeleri, derleme birimi bilgilerini ve bölüm ofsetini yazdırır.
Eşleşmeyen herhangi bir CU yazdırılmaz. 'Dize' bir URI dizesi olarak okunur.

Dize, anlamlı olan boşluklara veya diğer karakterlere sahip olamaz. almak(3) ve
kabuk, tırnak işaretlerini ve diğer karakterleri çıkaracaktır. Yani dize olduğu varsayılır
URI stili ve çevrilmiştir. Başka bir deyişle, 'ab' ile eşleşmek için -S dizesini 'a%20b' yapın
Dizedeki " tırnak işaretinden kaçmak yerine, olduğu gibi %25 yazın.
'a' b 'a%20%25b' yazılmalıdır (' burada açıklama içindir, bölümün bir parçası değil
Teller). Yalnızca URI stilinde değil, herhangi bir karakter de yazılabilir.
kabuk veya getopt için sorunlu.

-S any= ve -S normal ifade= seçenekleri yalnızca gerekli kitaplık işlevleri
yapılandırma zamanında bulundu.

-W seçeneği, -S seçeneğinin bir değiştiricisidir ve çıkış miktarını artırır -W
baskılar. Şimdi -W'yi bir -S seçeneğiyle bağlam içinde gösteriyoruz.

-S eşleşme=dize1 -W
-S ile eşleşen DIE'ler için üst ağacı ve alt ağacı yazdırır.

-S eşleşme=dize2 -wp
-S ile eşleşen DIE'ler için üst ağacı yazdırır.

-S eşleşme=dize3 -Tuvalet
-S ile eşleşen DIE'ler için üst ağacı yazdırır.

DİĞER SEÇENEKLER


-# numara
Bu seçenek dahili hata ayıklama çıktısını kontrol eder, daha yüksek sayılar daha fazla hata ayıklama anlamına gelir
hareketler. Kaynak koduna bakın.

-x isim=/p/a/t/h.conf
Verilen dosya yolu, dwarfdump.conf benzeri bir dosya olduğu varsayılan bir dosyanın adıdır.
Dosya yolu bir URI dizesi olarak okunur.

-x abi=ppc
Yazdırma çerçevesinde kullanılacak abi'yi (bir dwarfdump.conf dosyasından) seçer
bilgi (burada örnek olarak ppc kullanılarak). Abi bir URI dizesi olarak okunur.

-P Bunu kontrol ederken, her üretici için görülen derleme birimi adlarının listesini ekler-
yazdırılan kontrol sonuçlarına derleyici.

-q Komut satırını okurken bir URI bulunduğunda ve çevrildiğinde, sessiz olun.
URI çevirisi. Yani, orijinal ve çevrilmiş seçeneği yazdırmayın
Teller.

-E Bazı sistemler için nesne-iç başlık verilerini yazdırmayı açar (Unix/Linux için
Hiçbir şey).

-u kuname
DIE'lerin seçici olarak yazdırılmasını açar ( -i gibi yazdırma). Yalnızca DIE'ler için bir
sağlanan adla eşleşen derleme birimi yazdırılır. Derleme birimi ise
./a/b/cc ise, sağladığınız 'cuname', karakter olarak cc olmalıdır.
son yol ayırma / yoksayılır. 'cuname' a / ile başlıyorsa, tamamı
derleme biriminin isim dizgisi 'cuname' ile eşleşmelidir. 'cuname' olarak okunur
URI dizesi.

-U Komut satırı dizelerinin URI yorumunu tamamen kapatın. olmalı
herhangi bir URI dizesinin tam olarak etkili olmasıyla karşılaşmadan önce komut satırında.

-z Artık desteklenmiyor.

onworks.net hizmetlerini kullanarak dwarfdump'u çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad




×
reklâm
❤️Buradan alışveriş yapın, rezervasyon yapın veya satın alın; ücretsizdir, hizmetlerin ücretsiz kalmasına yardımcı olur.