[so] Test? + Other things
Daniel Avieritei
so@cursuri.cs.pub.ro
Mon, 22 Nov 2004 20:33:01 +0200
On Sunday 21 November 2004 23:15, gavieritei@home.ro wrote:
>> 1.
>> a) dlsym (RTLD_NEXT, "read"); si la fel pentru write
>> b) am incercat numai cu handle (dlopen+dlclose)
>> Faceam chestia asta unde suprascriam functia read si respectiv write
>>
>> de fiecare data :
>> cat: README: Bad address
>> asta dupa ce facea niste r/w
>Descriptorul e invalid, asta inseamna ca fie nu pasezi fd care trebuie
>functiei originale de read/write, fie nu dai inapoi rezultatul intors de
>read/write.
Intre timp am avansat la Segmentation Fault :P. Chestia cu filedescripturul
nu se intampla pentru ca il iau exact pe ala pe care il primesc.
Eu redefinesc functia read astfel:
ssize_t read(fd, buffer, count)
-apoi fac chestia cu dlopen si ajung la un read_original.
retfunc = read_original (fd, buffer, count ) e ok?
Sau trebuie sa aloc cumva bufferul ala???
Daca ar trebui alocat de unde stiu cat trebuie alocat?
>Cel mai probabil, problema nu e cu dlopen/dlsym/dlclose ci undeva in
rutinele
>tale de read/write.
Asta mi-am imaginat si eu ...
Eu am mai multe shelluri deschise. si doar unul din shelluri are LD_PRELOAD
activ, fiind shellul pe care testez efectiv.
In other words, cum pot sa fac debug activ la librarie? Ca m-ar ajuta mult
mai mult sa termin tema, decat niste printfuri ...