<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Debugging</id>
	<title>Debugging - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Debugging"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Debugging&amp;action=history"/>
	<updated>2026-05-14T20:23:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=Debugging&amp;diff=84292&amp;oldid=prev</id>
		<title>Maintenance script: Repair batch-0001 pages from live compare</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Debugging&amp;diff=84292&amp;oldid=prev"/>
		<updated>2026-03-26T23:56:06Z</updated>

		<summary type="html">&lt;p&gt;Repair batch-0001 pages from live compare&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:56, 26 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l135&quot;&gt;Line 135:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 135:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://korean.joelonsoftware.com/Articles/PainlessBugTracking.html 조엘아저씨의 손쉬운 버그 추적법]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://korean.joelonsoftware.com/Articles/PainlessBugTracking.html 조엘아저씨의 손쉬운 버그 추적법]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[:File:&lt;/del&gt;Debug_2004.ppt&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Debug_2004.ppt]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Debug_2004.ppt&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DeleteMe) 내일 정모에서 하실건가요??&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DeleteMe) 내일 정모에서 하실건가요??&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l141&quot;&gt;Line 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[세미나/2004]], [[새싹배움터05]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[세미나/2004]], [[새싹배움터05]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://zeropage.org/~namsangboy/Score.zip Debugging/Seminar2005자료소스]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://zeropage.org/~namsangboy/Score.zip Debugging/Seminar2005자료소스]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=Debugging&amp;diff=31179&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Debugging&amp;diff=31179&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
= 디버그는 무엇일까? =&lt;br /&gt;
* 프로그램의 오류를 발견하고, 그 원인을 밝혀내서 고치는 작업&lt;br /&gt;
== 테이블 디버깅 ==&lt;br /&gt;
== 컴퓨터 디버깅 ==&lt;br /&gt;
=== 디버거 방식 ===&lt;br /&gt;
* 프로그램을 실행할때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜서 사용하면서 오류에 관한 각종 정보를 수집&lt;br /&gt;
=== 디버그 행 방식 ===&lt;br /&gt;
* 수집하고 싶은 정보를 출력하기 위한 디버깅용 명령을 미리 프로그램 곳곳에 삽입하여 실행 시키는 방식&lt;br /&gt;
=== 기계어 방식 ===&lt;br /&gt;
&lt;br /&gt;
= 디버깅 노하우 =&lt;br /&gt;
* 새로운 코드를 작성하기 전에 현재 있는 버그들을 잡는다.&lt;br /&gt;
** 버그는 오래 되면 될 수록 그거에 관련된 코드에 대한 기억도 희미해지고, 불명확해져서 디버깅하는데 더 많은 시간이 걸리게 된다.&lt;br /&gt;
* 한번에 하나씩의 버그를 수정하고 테스트 해본다. &lt;br /&gt;
** 과학실험에서도 하나의 인자를 바꿔가면서 실험을 하지 한꺼번에 여러 인자를 바꾸면서 실험하지는 않는다.&lt;br /&gt;
* 분할 정복 기법&lt;br /&gt;
** 분할정복을 하다가 생길수 있는 부분은 나무만 보게 되고 숲을 보지 못하게 되는 경우가 있다. 주의!&lt;br /&gt;
= 디버깅 용도? =&lt;br /&gt;
* 버그 잡기&lt;br /&gt;
* 다른 사람 소스 이해하기&lt;br /&gt;
=  디버그 마음가짐 =&lt;br /&gt;
	Ridiculus Simplity		&lt;br /&gt;
	깊게 생각하기 보다 넓게 생각하라.		&lt;br /&gt;
	버그가 있을 리가 없어!라고 생각지 말라.		&lt;br /&gt;
	어디서부터 시작할 지 생각한다.		&lt;br /&gt;
	데이터를 눈에 보이게 만들라.&lt;br /&gt;
	누군가에게 설명한다&lt;br /&gt;
       &lt;br /&gt;
  .		&lt;br /&gt;
&lt;br /&gt;
= 디버깅 소프트웨어를 사용한 디버깅 =&lt;br /&gt;
== VC++디버거 쓰기 ==&lt;br /&gt;
* Debug&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 기능&lt;br /&gt;
| 단축키(*-&amp;gt;중요도)&lt;br /&gt;
| 의미&lt;br /&gt;
|-&lt;br /&gt;
| Start Debugging, Go&lt;br /&gt;
| *F5&lt;br /&gt;
| 디버깅 모드로 실행, 디버깅 모드 중에 F5를 다음 BreakPoint로 이동함&lt;br /&gt;
|-&lt;br /&gt;
| BreakPoint&lt;br /&gt;
| * F9&lt;br /&gt;
| 디버깅 모드에서 멈출곳을 지정&lt;br /&gt;
|-&lt;br /&gt;
| Stop Debugging&lt;br /&gt;
| shift + F5&lt;br /&gt;
| 디버깅 모드 중단&lt;br /&gt;
|-&lt;br /&gt;
| Step Into&lt;br /&gt;
| F11&lt;br /&gt;
| 디버깅 모드에서 한 라인씩 실행 - 함수를 만나면 함수 내부로 들어가서 계속 실행&lt;br /&gt;
|-&lt;br /&gt;
| Step Over&lt;br /&gt;
| F10&lt;br /&gt;
| 디버깅 모드에서 한 라인씩 실행 - 함수를 만나면 내부로 안들어가고 실행만 하고 다음 계속 실행&lt;br /&gt;
|-&lt;br /&gt;
| Step Out&lt;br /&gt;
| shift+F11&lt;br /&gt;
| Step Into 로 함수안에 들어갔다가 나오고 싶을때 사용&lt;br /&gt;
|-&lt;br /&gt;
| Run to Cursor&lt;br /&gt;
| Ctrl+F10&lt;br /&gt;
| 현재 커서가 있는 곳으로 디버깅 지점이 바뀜. 단 이미 지난 곳으로는 안됨&lt;br /&gt;
|-&lt;br /&gt;
| Set Next Statement&lt;br /&gt;
| -&lt;br /&gt;
| 다음 디버깅 지점을 지정. Run to Cursor에서는 이미 지난곳은 안되지만 여기서는 됨&lt;br /&gt;
|}&lt;br /&gt;
* View&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 화면(*-&amp;gt;중요도)&lt;br /&gt;
| 용도&lt;br /&gt;
|-&lt;br /&gt;
| *Watch Window&lt;br /&gt;
| 변수값이나 객체의 상태를 봄. 그 값을 변경시킬수도 있음&lt;br /&gt;
|-&lt;br /&gt;
| Call Stack Window&lt;br /&gt;
| 함수 호출 경로를 보여줌&lt;br /&gt;
|-&lt;br /&gt;
| Disassembly&lt;br /&gt;
| 역어셈블리어 코드를 보여줌&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Eclipse디버거 쓰기 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 기능&lt;br /&gt;
| 단축키(*-&amp;gt;중요도)&lt;br /&gt;
| 의미&lt;br /&gt;
|-&lt;br /&gt;
| Debug start&lt;br /&gt;
| *F11&lt;br /&gt;
| 디버깅 모드로 실행&lt;br /&gt;
|-&lt;br /&gt;
| BreakPoint&lt;br /&gt;
| * Ctrl + Shift + b&lt;br /&gt;
| 디버깅 모드에서 멈출곳을 지정&lt;br /&gt;
|-&lt;br /&gt;
| Step Into&lt;br /&gt;
| F5&lt;br /&gt;
| 디버깅 모드에서 한 라인씩 실행 - 함수를 만나면 함수 내부로 들어가서 계속 실행&lt;br /&gt;
|-&lt;br /&gt;
| Step Over&lt;br /&gt;
| F6&lt;br /&gt;
| 디버깅 모드에서 한 라인씩 실행 - 함수를 만나면 내부로 안들어가고 실행만 하고 다음 계속 실행&lt;br /&gt;
|-&lt;br /&gt;
| Run to Return(Step Out)&lt;br /&gt;
| F7&lt;br /&gt;
| 어떤 함수안에 들어갔다가 바로 그 함수를 나오고 싶을때 사용&lt;br /&gt;
|-&lt;br /&gt;
| Resume(go)&lt;br /&gt;
| F8&lt;br /&gt;
| 다음 BreakPoint 지점으로 이동&lt;br /&gt;
|}&lt;br /&gt;
* tip : Ctrl + F11 : 실행&lt;br /&gt;
&lt;br /&gt;
== PHP 디버깅 ==&lt;br /&gt;
=== 디버그행 방식 ===&lt;br /&gt;
* 디버깅 하고 싶은 곳에 보고 싶은 변수명을 파일로 출력하는 함수를 넣는다.&lt;br /&gt;
= 반복되는 디버깅 피하기 - DebugJournal =&lt;br /&gt;
	사실 : 삽질 내용, 그 여정, 실수한 이야기 -&amp;gt; 사고의 과정이 드러나도록!		&lt;br /&gt;
	느낌, 교훈 		&lt;br /&gt;
	미래 행동 계획(FAP)		&lt;br /&gt;
	피드백		&lt;br /&gt;
= Thread =&lt;br /&gt;
그렇다면 디버거는 써야 할까? 디버깅을 안 할 수는 없을까?&lt;br /&gt;
&lt;br /&gt;
= 참고 사이트 =&lt;br /&gt;
* [http://wiki.kldp.org/wiki.php/HowToBeAProgrammer?action=highlight&amp;amp;value=%B5%F0%B9%F6%B1%EB#s-2.1.1 kldp_HowToBeAProgrammer]&lt;br /&gt;
* [http://korean.joelonsoftware.com/Articles/PainlessBugTracking.html 조엘아저씨의 손쉬운 버그 추적법]&lt;br /&gt;
&lt;br /&gt;
[[:File:Debug_2004.ppt|Debug_2004.ppt]]&lt;br /&gt;
&lt;br /&gt;
DeleteMe) 내일 정모에서 하실건가요??&lt;br /&gt;
----&lt;br /&gt;
[[세미나/2004]], [[새싹배움터05]]&lt;br /&gt;
[http://zeropage.org/~namsangboy/Score.zip Debugging/Seminar2005자료소스]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>