4 din 7
4
Wiki
  [ Ignoră ]   [ # 46 ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 11.10.05

Exista interes pentru asa ceva?
Se potriveste in Wiki? Si ca veni vorba de Romanizare, e un cosmar sa scrii asa ceva in Romana. Cum se zice “breakpoint” in Romana? “pointer”? “frame”? “debugger”?


GDB

GDB este un debugger care permite intreruperea executiei binarelor si dezasamblarea codului asamblor prin care sunt implementate.

Prin exemplul urmator o sa modificam valoare returnata de una din functiile programului pe care il rulam in debugger, cu scopul de a observa valoarea schimbata in fereastra pe care o deseneaza.

Folosind nm am aflat de existenta metodei Objective C capacityCurrent care returneaza valoarea capacitatii curente a bateriei.
Vom seta un breakpoint in interiorul GDB.
GDB va intrerupe executia binarului cand functia este chemata si ne va oferi posibilitatea sa executam comenzi.

(gdb-[batteryDataClass capacityCurrent]
Breakpoint 4 at 0x5399 

PC este registrul contor program. El pointeaza intotdeauna catre urmatoarea instructiune care va fi executata.
Sa afisam patru instructiuni din functia noastra.

(gdbx/4i $pc
0x5399 
<-[batteryDataClass capacityCurrent]+3>: mov    eax,DWORD PTR [ebp+8]
0x539c 
<-[batteryDataClass capacityCurrent]+6>: mov    eax,DWORD PTR [eax+12]
0x539f 
<-[batteryDataClass capacityCurrent]+9>: pop    ebp
0x53a0 
<-[batteryDataClass capacityCurrent]+10>:        ret    
(gdb*(int *)($ebp 8) + 12
$3841436
(gdb*(int *)3841436
$5280 

Prin conventie, pe mac rezultatele unei metode objective c sunt returnate in registrul EAX.
In codul de mai sus EAX este incarcat cu valoarea locatiei de memorie EBP + 8 + 12.
Afisand valoarea din locatia de memorie respectiva, putem observa valoarea de 5280 (afisata de program in cadrul functionarii normale).

comm permite executia unor comenzi la atingerea unui breakpoint.
Mai jos setam continutul locatiei de memorie care reprezinta capacitatea curenta a bateriei la 4200.

(gdbcomm
Type commands 
for when breakpoint 4 is hitone per line.
End with a line saying just "end".
>
set {int}3841436 4200
>end
(gdb
Profil
 
  [ Ignoră ]   [ # 47 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

http://www.macuser.ro/index.php/wiki/Programare-C-GDB/

Go diacritice go…

diciu: poate mai completezi pe acolo la categoria de programare paginile cu ceva texte frumoase despre ce stie si ce face OSX la capitolul programare.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 48 ]
Avatar
RankRankRankRank
Administrator
Din: județul Devon, UK
Macuser din: 18.10.05

He, imi place: incepe sa prinda carne si Wiki-ul.

Profil
 
  [ Ignoră ]   [ # 49 ]
Avatar
RankRankRank
Member
Din: Bucuresti
Macuser din: 11.10.05
psergiu - 27 Martie 2007 11:22 PM

diciu: poate mai completezi pe acolo la categoria de programare paginile cu ceva texte frumoase despre ce stie si ce face OSX la capitolul programare.

am scris cate ceva, nu cu diacritice. n-am ajuns la Xcode & co.
oricum formularile probabil ca sunt hmm, inovatoare, sper sa ma editeze cineva si sa corecteze unde e cazul.

am scris cu italic unde nu am stiut sa ma exprim in Romana (ex toll-free-bridging).

Profil
 
  [ Ignoră ]   [ # 50 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucharest
Macuser din: 10.01.06

gata 2 articole, cu diacritice… o să mă bag şi la diciu sa le înlocuiesc.

 Semnătură 

Mac OS X proves that it’s easier to make UNIX pretty than it is to make Windows secure!

Profil
 
  [ Ignoră ]   [ # 51 ]
Avatar
RankRankRankRank
Sr. Member
Din: Bucharest, White Pond (= Balta Albă)
Macuser din: 11.10.05
nevrozel - 14 Martie 2007 11:21 PM

In legatura cu persoana la care ne adrasam, propun “tu” pentru ca este mai personal si cititorul se simte mai bine. smile

Bineînțeles, cum o spun de ani buni: TU.

 Semnătură 

Cattus sum et thraece loquor
Pisica joacă rolul de tampon asupra efectelor patogene ale stresului. O pisica în casă înseamnă, deci, scăderea tensiunii arteriale, deci și a riscurilor unei boli cardiace. Mai multe pisici, tot mai multe…

Profil
 
  [ Ignoră ]   [ # 52 ]
RankRankRank
Moderator
Din: Cluj
Macuser din: 14.10.05

Multumesc pentru drepturile de editare, si multa bafta la toti cei care vor edita prin wiki!

Din nefericire n-am mai avut timp sa intru pe site de cateva zile si acum sunt prins la work, dar de-abia astept sa imi bag degetele in el smile

Profil
 
  [ Ignoră ]   [ # 53 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

NU UITAȚI !

Dacă doriți drept de editare în wiki - trebuie să îl cereți fie printr-un reply în acest thread, fie printr-un PM către Administrator.

Administratorii nu au globuri de sticlă vrăjite deci nu pot prezice dacă un user ar dori așa ceva sau nu cât timp acel user nu se exprimă clar.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 54 ]
Avatar
RankRankRankRank
Administrator
Din: județul Devon, UK
Macuser din: 18.10.05

Si inca ceva: am impresia ca multi considera Wiki ca pe un ziar, revista, sau (horrible dictu! smile ) o carte, in care ce se scrie asa ramane si rade lumea de eventualele prostii. Nu e asa: orice articol se poate edita, corecta, completa. Daca suntem harnici, poate sa iasa ca un manual. Si nici nu trebuie mare efort, oricum scriem intrebarile si raspunsurile pe forum.

E o vorba care-mi place: share more, live better. Asa e!

Profil
 
  [ Ignoră ]   [ # 55 ]
Avatar
RankRankRankRank
Administrator
Din: London, UK
Macuser din: 11.10.05

Se lucreaza si la tema, nu va speriati, se vor armoniza toate…

 Semnătură 

MB12 early2015, mini late2018, i2, i4S, iX, Watch Nike (Series3), iPad 1, iPad Pro 9.7”,  Pencil, shuffle 4, TV4, AExtreme x2, AEBSv2, AEBS original(x2) v1(x2), Homepod (x2), iPod Hi-Fi (x3)

Profil
 
  [ Ignoră ]   [ # 56 ]
Avatar
RankRankRank
Member
Din: Texas
Macuser din: 16.11.06

Admit de la bun inceput ca am picat de pe nicaieri cu intrebarea asta dar ... cum anume pot adauga/edita wiki-ul? Nu-mi apare nimic in acest sens, cel putin nu asa cum vad pe Wikipedia.org, un link Edit ceva la articole. Trebuie sa am acces special, sau?

Profil
 
  [ Ignoră ]   [ # 57 ]
Avatar
RankRankRankRank
Administrator
Din: județul Devon, UK
Macuser din: 18.10.05

Citeste si tu 3 posturi mai sus de tine.

Profil
 
  [ Ignoră ]   [ # 58 ]
Avatar
RankRankRank
Member
Din: Texas
Macuser din: 16.11.06

Makes sense, dar asumptia mea era ca, by default, Wiki-ul este deschis pentru oricine din comunitatea Mac User. Why would it not be?

Profil
 
  [ Ignoră ]   [ # 59 ]
Avatar
RankRankRankRank
Administrator
Din: London, UK
Macuser din: 11.10.05

Pai e deschis pentru orice macuser. Primul pas e sa se inregistreze pe macuser.ro si al doilea e sa ceara drept de editare.

Want one?

 Semnătură 

MB12 early2015, mini late2018, i2, i4S, iX, Watch Nike (Series3), iPad 1, iPad Pro 9.7”,  Pencil, shuffle 4, TV4, AExtreme x2, AEBSv2, AEBS original(x2) v1(x2), Homepod (x2), iPod Hi-Fi (x3)

Profil
 
  [ Ignoră ]   [ # 60 ]
Avatar
RankRankRank
Member
Din: Texas
Macuser din: 16.11.06

Sure!

Profil
 
   
4 din 7
4