Portál AbcLinuxu, 25. dubna 2024 03:15


Dotaz: Strace problem

1.9.2009 13:29 Roman
Strace problem
Přečteno: 149×
Odpovědět | Admin
Resim nasledujici problem, jak dohledat script do ktereho se zapsal konkretni string. Na vystup strace potrebuji dostat nazev scriptu do ktereho byl zapsan konkretni string.

Napr:
strace -t -f -p HLAVNI_HTTPD_PID -e trace=write 2>&1 | grep -i 'teststring'.
To znamena pokud mi nejaky script zapise do nejakeho souboru na disku string 'teststring', vypis je zhruba nasledovny:
[pid 10107] 07:19:44 write(101, "teststring"..., 100) = 100
Kde vidim ze pid 10107 zapsal do "nejakeho" souboru string 'teststring'.. a muzu tak dohledat v apache statusu ktery script je deravy. Nevim vsak do ktereho souboru se zapisovalo.

Idealni pro mne by bylo kdyby fungovalo:
-e trace=file,write
takze by to vyplivlo nazev souboru do ktereho se zapsal string 'teststring'. Takto to bohuzel nefunguje a proto hledam reseni zda jde nejak zkombinovat strace prepinace aby mi to vyplivlo i cestu k upravenemu scriptu. Vedel by nekdo ?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.9.2009 13:49 Roman
Rozbalit Rozbalit vše Re: Strace problem
Odpovědět | | Sbalit | Link | Blokovat | Admin
.. jinak mne jako reseni napada logovat -e trace=write do souboru.. a az se v souboru objevi hledany string tak vytahnout proces ktery radku zapsal, a otevrit novy strace process tentokrat s -e trace=file rovnez s logovanim do souboru, kde pak uvidim vsechny soubory ktere ten nezbedny proces prepsal... mozna ale existuje elegantnejsi reseni.
1.9.2009 15:43 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Strace problem
Odpovědět | | Sbalit | Link | Blokovat | Admin
Loguj si celý výpis strace, pak v něm najdi daný write, podívej se na fd a zpětně si v tom logu vyhledej, kde se to fd vezme. Volání, kterým se otevírá soubor, není file, ale open (mimojiné).

Nebo se můžeš podívat do /proc a dohledat otevřený soubor dle jeho fd. To ale asi nebudeš stíhat :-) Možná s gdb.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.