@ WWDC 19
po
: print object description
CustomDebugStringConvertible
ํ๋กํ ์ฝ์ ์ฑํํ๊ณ , debugDescription
์ ์์ฑํ๋ฉด ๊ธฐ๋ณธ description ๋์ debugDescription
์ด ๋ณด์ฌ์ง๋ค.
po
๋ expression --object-description
์ alias์ด๋ค.
command alias my_po expression --object-description
์ผ๋ก po
๋์ my_po
๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค.
์ด๋ฐ ๋ฐฉ์์ผ๋ก po
๊ฐ ์๋ํ๋ค. ์ปดํ์ผ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์คํ์ ์์ผ๋ณผ ์ ์๋ค๋ ์ด์ ์ ๊ฐ์ง๋ค.
po
๋ง๊ณ p
command๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค. $R0
, $R1
๊ณผ ๊ฐ์ ํํ์ ๋ณผ ์ ์๋ค.
po
์ ๋ง์ฐฌ๊ฐ์ง๋ก p
๋ expression
์ alias์ด๋ค.
p
๋ ์๋์ ์ผ๋ก po
๋ณด๋ค ๊ฑฐ์น๊ฒ ๋๋ ํ๋ก์ธ์ค๊ฐ ์งง๋ค. ์คํ ์๋๋ po
์ ๋นํด ์ด์ ์ด ์๋ค. ํ์ง๋ง ๋ฐํ์์ ์๋์ ๊ฐ์ ํ์
์ถ๋ก ์ด ๋ถ๊ฐ๋ฅํ๋ค.
v
๋ p
๋ณด๋ค ์กฐ๊ธ ๋ ๋น ๋ฅด๋ค. ๊ทธ ์ด์ ๋ ์ปดํ์ผ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์ปดํ์ผ์ ํ์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ง์ ์ฝ๋๋ฅผ ์คํ์์ผ๋ณด๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค.
๊ฐ ํค์๋์ ํน์ง์ ์์ฝํ์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๊ธฐ๋ณธ์ ์ธ data formatter๋ ์ด๋ฏธ ํ๋ฅญํด์ ์ง์ ๋ง๋ ํด๋์ค์ ๋ํด์๋ ์ ํ์ด ์ ๊ณตํ๋ ํด๋์ค์์๋ ๋ฐ์ดํฐ๋ค์ ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ํ์ง๋ง debugging์ ํ ๋ ๋ณด์ฌ์ง๋ data๋ค์ด ์ด๋ป๊ฒ ๋ณด์ฌ์ง ์ง์ ๋ํด data formatter๋ฅผ ์ปค์คํ ํด์ ๊ฒฐ์ ํ ์ ์๋ค.
- filters
- string summaries
- synthetic children
filter๋ฅผ ์ถ๊ฐํ๊ณ ์ญ์ ํ๋ ์์
Xcode์ variable view์ ๋์ค๋ ๋ด์ฉ์ ์ปค์คํ ํ๋ค.
Python 3๋ฅผ ์ด์ฉํด์ LLDB์ Python API์ ์ ๊ทผํ๋ฉด ์ข ๋ ์ ๊ตํ formatting์ด ๊ฐ๋ฅํ๋ค.
script ํค์๋๋ฅผ ์ด์ฉํ๋ฉด python formatting์ ์์ํ ์ ์๋ค.
command script import Trip.py
์์ ๊ฐ์ ํค์๋๋ฅผ ์ด์ฉํ๋ฉด script import๋ ๊ฐ๋ฅํ๋ค.
Python API๋ฅผ ์ด์ฉํด์ children์ ์ปค์คํ ํ๋ค.