<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Xcode on Kelly Dev</title><link>https://kelly-chui.github.io/tags/xcode/</link><description>Recent content in Xcode on Kelly Dev</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 05 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://kelly-chui.github.io/tags/xcode/index.xml" rel="self" type="application/rss+xml"/><item><title>SniffMEET. Xcode 프로젝트 파일 정리하기</title><link>https://kelly-chui.github.io/posts/sniffmeet-dev-log-xcode-project-cleanup/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://kelly-chui.github.io/posts/sniffmeet-dev-log-xcode-project-cleanup/</guid><description>&lt;h2 id="작업-내역"&gt;작업 내역&lt;/h2&gt;
&lt;img loading="lazy" src="https://kelly-chui.github.io/posts/sniffmeet-dev-log-xcode-project-cleanup/image-001-optimized-image.webp"&gt;&lt;p&gt;Xcode에서 프로젝트 파일 관련 경고가 많이 떠서 정리했다.&lt;/p&gt;
&lt;h2 id="작업-내역-1"&gt;작업 내역&lt;/h2&gt;
&lt;h3 id="null-파일-제거"&gt;null 파일 제거&lt;/h3&gt;
&lt;div class="code-theme-github"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;320043702CDC9A0D00D08B6D /* (null) in Sources */ = {isa = PBXBuildFile; };
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;320043722CDC9E5F00D08B6D /* (null) in Sources */ = {isa = PBXBuildFile; };
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;320043762CDCA18E00D08B6D /* (null) in Sources */ = {isa = PBXBuildFile; };
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;320043782CDCA49100D08B6D /* (null) in Sources */ = {isa = PBXBuildFile; };
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;3200437C2CDCA6F300D08B6D /* (null) in Sources */ = {isa = PBXBuildFile; };&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;이전에 있었던 구조 변경이나, git 충돌/머지 등 다양한 이유로 프로젝트 파일 안에 &lt;code&gt;(null)&lt;/code&gt; 파일을 참조하는 라인이 많이 있었다.&lt;/p&gt;</description></item><item><title>Swift. Xcode 디버깅과 LLDB 기본 명령어</title><link>https://kelly-chui.github.io/posts/swift-xcode-lldb-debugging/</link><pubDate>Wed, 20 Nov 2024 00:00:00 +0000</pubDate><guid>https://kelly-chui.github.io/posts/swift-xcode-lldb-debugging/</guid><description>&lt;h2 id="lldb가-뭔가요"&gt;LLDB가 뭔가요&lt;/h2&gt;
&lt;p&gt;LLVM + Debugger&lt;/p&gt;
&lt;p&gt;LLVM 위에서 동작하는 디버거&lt;/p&gt;
&lt;h3 id="llvmlow-level-virtual-machine"&gt;LLVM(Low Level Virtual Machine)&lt;/h3&gt;
&lt;img alt="image.png" loading="lazy" src="https://kelly-chui.github.io/posts/swift-xcode-lldb-debugging/image-001-optimized-image.webp"&gt;&lt;p&gt;프로그래밍 언어를 CPU 아키텍처가 이해할 수 있도록 컴파일 하는 과정을 생각해보면 (프로그래밍 언어의 종류 * CPU 아키텍처의 종류) 만큼의 경우의 수가 생긴다.&lt;/p&gt;
&lt;p&gt;LLVM은 LLVM-IR이라는 중간 언어를 만들어서 프로그래밍 언어를 LLVM-IR로 변역하고 이 LLVM-IR을 CPU 아키텍처에 맞는 기계어로 번역하게 해주는 역할을 함 어려운건 여기까지!&lt;/p&gt;
&lt;h2 id="xcode-debugging"&gt;XCode Debugging&lt;/h2&gt;
&lt;h3 id="breakpoint"&gt;BreakPoint&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;브레이크 포인트가 걸린 라인 직전 까지 실행 됨&lt;/li&gt;
&lt;li&gt;활성화/비활성화 할 수 있음&lt;/li&gt;
&lt;li&gt;다양한 옵션 지정 가능 (이름, LLDB 커맨드, 로그 작성 등등)…&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="debugging-bar"&gt;Debugging Bar&lt;/h3&gt;
&lt;img alt="image.png" loading="lazy" src="https://kelly-chui.github.io/posts/swift-xcode-lldb-debugging/image-002-optimized-image.webp"&gt;&lt;ul&gt;
&lt;li&gt;Disable/enable breakpoints: 브레이크 포인트들을 활성화/비활성화&lt;/li&gt;
&lt;li&gt;Pause/continue execution: 다음 브레이크 포인트가 나올 때 까지 진행&lt;/li&gt;
&lt;li&gt;Step over: 다음 라인으로 넘어가기&lt;/li&gt;
&lt;li&gt;Step into: 현재 브레이크 포인트가 걸려있는 메소드로 들어가기&lt;/li&gt;
&lt;li&gt;Step out: 현재 메소드에서 벗어나기&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="lldb-직접-사용해보기"&gt;LLDB 직접 사용해보기&lt;/h2&gt;
&lt;h3 id="print-p"&gt;Print: &lt;code&gt;p&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;현재 메모리 상태에 있는 것을 출력한다.&lt;/p&gt;</description></item></channel></rss>