-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcontinue.htm
98 lines (83 loc) · 3.5 KB
/
continue.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Referensi Perintah GDB - Perintah continue</title></head>
<body><div class="container-fluid"><div class="row"><div class="col-xs-12"><div class="main">
<h2>Perintah continue</h2>
<p>Melanjutkan eksekusi program setelah breakpoint.</p>
<h4>Syntax</h4>
<div class="syntax">
<b>continue</b><br/>
<b>continue</b> [<i>Jumlah Ulang</i>]<br/>
<b>c</b><br/>
<b>c</b> [<i>Jumlah Ulang</i>]<br/>
</div>
<p></p>
<h4>Parameter</h4>
<dl>
<dt>Jumlah Ulang</dt>
<dd>Jika parameter ini ditentukan, GDB akan melanjutkan otomatis sebanyak <i>Jumlah Ulang</i> - 1 kali ketika breakpoint saat ini terkena.</dd>
</dl>
<p></p>
<h4>Keterangan</h4>
<p>Perintah <b>continue</b> juga digunakan untuk memulai debug dalam kasus-kasus berikut:</p>
<ul>
<li>Untuk melanjutkan proses setelah melakukan attach dengan <a href="attach.htm"><b>attach</b></a></li>
<li>Untuk memulai debugging dengan gdbserver</li>
</ul>
<p></p>
<h4>Contoh</h4>
<p>Contoh ini mengilustrasikan penggunaan parameter <i>Jumlah Ulang</i>. Program berikut sedang di-debug:</p>
<pre><div class="code">
<span class="keyword">#include</span><span class="string"> <stdio.h></span>
<span class="keyword">void</span> func(<span class="keyword">int</span> arg)
{
printf(<span class="string">"%d\n"</span>, arg);
}
<span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">char</span> *argv[])
{
<span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < 5; i++)
func(i);
<span class="keyword">return</span> 0;
}
</div></pre>
<p>Ketika perintah <b>continue</b> diberikan tanpa parameter, GDB berhenti di iterasi loop berikutnya. Ketika jumlah ulang sebesar 3 ditentukan, GDB akan melewati 2 iterasi berikutnya. Dalam kasus satu breakpoint ini setara dengan mengeluarkan perintah <b>continue</b> 3 kali.</p>
<pre><div class="code">
(gdb) <b>b func</b>
Breakpoint 1 at 0x80483ea: file 0.cpp, line 5.
(gdb) <b>r</b>
Starting program: /home/testuser/0.elf
Breakpoint 1, func (arg=0) at 0.cpp:5
5 printf("Iterasi %darg);
(gdb) <b>c</b>
Continuing.
Iterasi 0
Breakpoint 1, func (arg=1) at 0.cpp:5
5 printf("Iterasi %darg);
(gdb) <b>c 3</b>
Akan mengabaikan 2 kali lintasan breakpoint 1. Melanjutkan.
Iterasi 1
Iterasi 2
Iterasi 3
Breakpoint 1, func (arg=4) at 0.cpp:5
5 printf("Iterasi %darg);
</div></pre>
<p></p>
<h4>Kesalahan Umum</h4>
<p>Menggunakan perintah <b>continue</b> sebelum program dimulai akan menghasilkan kesalahan. Jika Anda mengalaminya, gunakan perintah <a href="run.htm"><b>run</b></a> untuk memulai program tersebut:</p>
<pre><div class="code">
(gdb) <b>continue</b>
Program tidak sedang berjalan.
(gdb) <b>run</b>
Starting program: /home/testuser/0.elf
Iterasi 0
Iterasi 1
Iterasi 2
Iterasi 3
Iterasi 4
[Inferior 1 (process 31852) exited normally]
(gdb) <b></b>
</div></pre>
<p></p>
</div></div></div></div>
</body>
</html>