LLDB
-
LLDB - ๋ช ๋ น์ด (2)LLDB 2021. 4. 17. 11:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ค๋ ํฌ์คํ ์์๋ LLDB์์ ์ํ ๋ณํ๋ฅผ ์ค ์ ์๋ ๋ช ๋ น์ด์ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๊ณ ํ์ตํ๊ฒ ์ต๋๋ค๐ง๐ป๐ป ์ค๋ ์์๋ณผ ๊ธฐ๋ฅ์ Stepping์ธ๋ฐ์, ์คํ ํ ๋ง ๊ทธ๋๋ก ๋ฐ๊ฑธ์ ๊ฐ์ ์๋ฏธ๋ก LLDB์์ ํ๋ก์ธ์ค ์งํ ์ํ๋ฅผ ๋จ๊ณ๋ณ๋ก ๋์๊ฐ๋ฉด์ ์ํ ๋ณํ๋ฅผ ๋ณผ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค. Stepping์๋ 3๊ฐ์ง์ ๊ธฐ๋ฅ์ด ๋ด๊ฒจ์๋๋ฐ Step Over / Step In / Step Out์ ๋๋ค. ๊ทธ๋ผ ์ด์ ์์ธํ 3๊ฐ์ง์ ๊ธฐ๋ฅ๊ณผ ์ด๋ค ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ฌด์จ ์ฐจ์ด๊ฐ ์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค๐ Step Over : ๋ธ๋ ์ดํฌํฌ์ธํธ๊ฐ ๊ฑธ๋ ค์๋ ์ํ์์ ๋ค์ ์ฝ๋๋ก ๋์ด๊ฐ๋ ๊ธฐ๋ฅ์ผ๋ก ์ถ๊ตฌ์์๋ ํ๋ค๋ฆฌ ์ง๊ธฐ ๋์์ธ๋ฐ ์ด๋ป๊ฒ ๋ณด๋ฉด ํ๋ค๋ฆฌ๋ฅผ ์ง๋ ๋์ ์์ฒด๊ฐ ์ง๊ธ ํ์ฌ ์์น๋ณด๋ค ๋ฐ์ ํ๋จ๊ณ ๋ ๋์๊ฐ์ ์ง๋..
-
LLDB - ๋ช ๋ น์ด (1)LLDB 2021. 4. 16. 17:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ LLDB์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ๊ตฌ์กฐ์ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ๋ช ๋ น์ด์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค๐ LLDB์ ๋ฌธ๋ฒ ๊ตฌ์กฐ : (lldb) command [subcommand] -option “Argument” - command & subcommand: lldb ์์์์ ์ค๋ธ์ ํธ ์ด๋ฆ (๋ธ๋ ์ดํฌํฌ์ธํธ, ์ , ๋ฆฌ์คํธ ๋ฑ) -> ๊ณ์ธตํ ๋ฐ ์ปค๋งจ๋์ ๋ฐ๋ผ ์๋ธ์ปค๋งจ๋ ์ข ๋ฅ๊ฐ ๋ค๋ฆ - option: ์ปค๋งจ๋ ๋ค ์ด๋๊ณณ์ด๋ ์์น๊ฐ ๊ฐ๋ฅํจ - Argument: ์ธ์์ ๊ณต๋ฐฑ์ด ํฌํจ๋์ด์์๋๋ ์์ด ์ฃผ๋ก ๋ฌธ์์ด์ฒ๋ผ ๋ฌถ์ด์ ํํํด์ค (๊ผญ ๋ฌธ์์ด์ฒ๋ผ ๋ฌถ์ด์ ํํํด์ผ๋๋๊ฒ์ ์๋) - ๋ช ๋ น์ด์ ์ต์ ๋ค์ ์ 1~2๊ฐ ์ฒ ์๋ก ํจ์ถํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ ex) (lldb) breakpoint set --file ViewCon..
-
LLDB - ๊ฐ๋ ๋ฐ ์๊ฐLLDB 2021. 4. 16. 17:09
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ค๋๋ถํฐ LLDB๋ฅผ ๋ถ์ ๋ณด๊ฒ ์ต๋๋ค!! ์ด๋ฒ ํฌ์คํ ์ LLDB๋ ๊ฐ๋ตํ ๋ฌด์์ธ์ง ์ ์ฌ์ฉํ๋๊ฒ์ธ์ง? ๊ฐ๋ ๋ฐ ์๊ฐ๋ฅผ ํ๊ฒ ์ต๋๋ค๐ง๐ป๐ป LLDB? - Low-Level Debugger๋ผ๋ ๋ป์ผ๋ก LLVM์ ๋๋ฒ๊ฑฐ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐํ๋ ์ ํ์ ์๋ธ ํ๋ก์ ํธ - ๋ก์ฐ๋ ๋ฒจ ์ปจํธ๋กค ๊ฐ๋ฅํ ๋ชจ๋๋ก ์ด๋ค์ ธ์์ผ๋ฉฐ ๊ธฐ๊ณ์ด์ ๊ฐ๊น์ด ์์ญ๊น์ง ๋๋ฒ๊น ๊ฐ๋ฅ (C/C++/Object-C/Swift ์ง์) - Xcode์ ๊ธฐ๋ณธ ๋๋ฒ๊ฑฐ๋ก ๋ด์ฅ - ์ฐจ์ธ๋ ๊ณ ์ฑ๋ฅ ๋๋ฒ๊ฑฐ!? - Clang์ ํ์ ๋ฐ LLVM ๋์ค์ด์ ๋ธ๋ฌ์ ๊ฐ์ LLVM ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ ์งํฉ์ผ๋ก ๋น๋๋จ - ์ค์ ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๊ฐ ์ฌ์์ง - LLVM์ ํ๋ก ํธ์๋์ ๋์ํ๋ ๋๋ฒ๊ฑฐ๋ก ๊ฐ๊ฒฐํ๊ณ ..