Welcome, Guest. Please login or register.
Did you miss your activation email?
07 September, 2010, 08:22:17 pm
Home | Help | Search | Login | Register

Lazarus and FreePascal

Oct 16 2009 LTrace Kullanımı
written by alivardar | 1200 Views | Rating: (0 rates)
Dökümanlar
M.Ali VARDAR 2006 Ltrace Nasıl?
Ltrace Kullanımı
Ltrace, uygulamaların kullandığı dinamik kitaplık çağrılarını izlememize
yarayan aracın adıdır. Kullanımı genel olarak strace 'e benzer. ltrace ve
strace isimli uygulamalar büyük ve sık kullanılan uygulamalar değildir.
Hata ayıklama işlemleri için, öğrenilmesi gerekli uygulamalar
arasındadır. Şimdi çıktısını görmek için basit bir uygulama yazalım ve
ne tür mesajlar verdiğini gözleyelim. Çıktılarını izleyeceğimiz uygulama
en basit hali ile aşağıdaki şekildedir.
#include
int main()
{
int i;
printf("ornek uygulama\n");
for (i=0;i<3;i++) printf("%i\n",i);
}
Uygulamayı aşağıdaki şekilde derleyelim.
gcc o
ilk ilk.c
ltrace ile uygulamanın çağrılarını doğrudan ekranda gösteren en basit
kullanımı aşağıdaki şekildedir.
ltrace ./ilk
Konsolda uygulamanın ürettiği çıktı aşağıdaki şekildedir.
__libc_start_main(0x8048394, 1, 0xbfaf5ac4, 0x80483f0, 0x80483e0
puts("ornek uygulama"ornek uygulama
)
= 15
printf("%i\n", 00
)
= 2
printf("%i\n", 11
)
= 2
printf("%i\n", 22
)
= 2
+++ exited (status 2) +++
M.Ali VARDAR 2006 Ltrace Nasıl?
libc içinden yapılan çağrıların listesini son derece net anlaşılır bir
şekilde ekranda çıktı olarak vermektedir. strace isimli uygulama da
olduğu gibi büyük ve hemen sonlanmayan uygulamalar için tüm çıktıyı
o
parametresi ile birlikte bir dosya içine aktarılabilir.
ltrace o
cikti.txt ./ilk
S
parametresi, sistem çağrılarını da normal kitaplık çağrıları ile
birlikte gösterir. L
parametresi ile birlikte kullanılırsa, sadece sistem
çağrıları izlenebilir. L
kitaplık çağrılarını göstermez. Bu parametre tek
başına uygulamayı işlevsiz hale getirir. S
parametresi kullanılması
mantıklıdır.
Sistem ve kitaplık çağrılarını birlikte gözlemek için;
ltrace S
o
cikti.txt ./ilk
Sadece sistem çağrıları için;
ltrace S
L
o
cikti.txt ./ilk
Eğer çalışan bir uygulama mevcut ise bu uygulamanın kitaplık
çağrılarını izlemek için p
parametresi kullanılır. p
parametresi ile
çalışan bir sürecin pid numarası ile onun çağrıları gözlem altına
alınabilir. Örnek olarak çalışan bir uygulamanın pid numarası 8763
olsun. Gözlemek için;
ltrace p
8763
Sonuç olarak ltrace her zaman lazım olmayan bir uygulama olsa da
neler yaptığını bilmek bizler için önemlidir. Özellikle yazılmış olan
uygulamaların bazı şeyleri nasıl yaptığını anlamak için hangi çağrıların
yaptığını anlamak için kullanılabilir.
M.Ali VARDAR
ali@linuxprogramlama.com
Bu yazının son şeklini www.linuxprogramlama.com adresinden temin
edebilirsiniz.
Yasal Açıklama:
Bu belgenin, [GCC Kullanımı] 1.0 sürümünün telif hakkı © 2006 M. Ali Vardar'a aittir. Bu
belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Özgür
Belgeleme Lisansının 1.1 ya da daha sonraki sürümünün koşullarına bağlı kalarak
kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Bu Lisansın bir kopyasını
http://www.gnu.org/copyleft/fdl.html adresinde bulabilirsiniz.
M.Ali VARDAR 2006 Ltrace Nasıl?
BU BELGE "ÜCRETSİZ" OLARAK RUHSATLANDIĞI İÇİN, İÇERDİĞİ BİLGİLER İÇİN
İLGİLİ KANUNLARIN İZİN VERDİĞİ ÖLÇÜDE HERHANGİ BİR GARANTİ
VERİLMEMEKTEDİR. AKSİ YAZILI OLARAK BELİRTİLMEDİĞİ MÜDDETÇE TELİF
HAKKI SAHİPLERİ VE/VEYA BAŞKA ŞAHISLAR BELGEYİ "OLDUĞU GİBİ", AŞİKAR
VEYA ZIMNEN, SATILABİLİRLİĞİ VEYA HERHANGİ BİR AMACA UYGUNLUĞU DA
DAHİL OLMAK ÜZERE HİÇBİR GARANTİ VERMEKSİZİN DAĞITMAKTADIRLAR.
BİLGİNİN KALİTESİ İLE İLGİLİ TÜM SORUNLAR SİZE AİTTİR. HERHANGİ BİR
HATALI BİLGİDEN DOLAYI DOĞABİLECEK OLAN BÜTÜN SERVİS, TAMİR VEYA
DÜZELTME MASRAFLARI SİZE AİTTİR. İLGİLİ KANUNUN İCBAR ETTİĞİ
DURUMLAR VEYA YAZILI ANLAŞMA HARİCİNDE HERHANGİ BİR ŞEKİLDE TELİF
HAKKI SAHİBİ VEYA YUKARIDA İZİN VERİLDİĞİ ŞEKİLDE BELGEYİ DEĞİŞTİREN
VEYA YENİDEN DAĞITAN HERHANGİ BİR KİŞİ, BİLGİNİN KULLANIMI VEYA
KULLANILAMAMASI (VEYA VERİ KAYBI OLUŞMASI, VERİNİN YANLIŞ HALE
GELMESİ, SİZİN VEYA ÜÇÜNCÜ ŞAHISLARIN ZARARA UĞRAMASI VEYA
BİLGİLERİN BAŞKA BİLGİLERLE UYUMSUZ OLMASI) YÜZÜNDEN OLUŞAN
GENEL, ÖZEL, DOĞRUDAN YA DA DOLAYLI HERHANGİ BİR ZARARDAN, BÖYLE
BİR TAZMİNAT TALEBİ TELİF HAKKI SAHİBİ VEYA İLGİLİ KİŞİYE BİLDİRİLMİŞ
OLSA DAHİ, SORUMLU DEĞİLDİR.
Tüm telif hakları aksi özellikle belirtilmediği sürece sahibine aittir. Belge içinde geçen
herhangi bir terim, bir ticari isim ya da kuruma itibar kazandırma olarak
algılanmamalıdır. Bir ürün ya da markanın kullanılmış olması ona onay verildiği
anlamında görülmemelidir.
Digg this story! Del.icio.us Share on Facebook! Technorati Reddit StumbleUpon

Forum / Destek

Hakkımızda

GPL Applications

Stats

Members
  • Total Members: 683
  • Latest: sriman
Stats
  • Total Posts: 114
  • Total Topics: 39
  • Online Today: 9
  • Online Ever: 31
  • (15 March, 2010, 09:08:04 pm)
Users Online
Users: 0
Guests: 10
Total: 10
 
TinyPortal v1.0 beta 4 © Bloc


Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!