Skip to content

Commit b3e258f

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent 3cb7891 commit b3e258f

File tree

10 files changed

+2687
-2058
lines changed

10 files changed

+2687
-2058
lines changed

lang/cpp26.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@
176176

177177
<p class="text-right"><small>
178178
最終更新日時(UTC):
179-
<span itemprop="datePublished" content="2024-09-17T09:19:37">
180-
2024年09月17日 09時19分37秒
179+
<span itemprop="datePublished" content="2024-09-18T03:31:11">
180+
2024年09月18日 03時31分11秒
181181
</span>
182182
<br/>
183183
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -398,7 +398,7 @@ <h3>新ライブラリ</h3>
398398
<li>文字列エンコーディングを識別するライブラリとして、<code><span href="https://cpprefjp.github.io/reference/text_encoding.md.nolink">&lt;text_encoding&gt;</span></code>を追加</li>
399399
<li>並行処理におけるデータの参照・更新を行うRCU (Read Copy Update) のライブラリとして、<code><span href="https://cpprefjp.github.io/reference/rcu.md.nolink">&lt;rcu&gt;</span></code>を追加</li>
400400
<li>並行処理において参照中のデータが更新されないよう保護するハザードポインタのライブラリとして、<code><span href="https://cpprefjp.github.io/reference/hazard_pointer.md.nolink">&lt;hazard_pointer&gt;</span></code>を追加</li>
401-
<li>デバッグサポートのライブラリとして<code><span href="https://cpprefjp.github.io/reference/debugging.md.nolink">&lt;debugging&gt;</span></code>を追加</li>
401+
<li>デバッグサポートのライブラリとして<code><a href="../reference/debugging.html">&lt;debugging&gt;</a></code>を追加</li>
402402
<li>線形代数ライブラリとして<code><a href="../reference/linalg.html">&lt;linalg&gt;</a></code>を追加</li>
403403
<li>コンパイル時に容量を固定する可変長配列クラスのライブラリとして<code><span href="https://cpprefjp.github.io/reference/inplace_vector.md.nolink">&lt;inplace_vector&gt;</span></code>を追加</li>
404404
</ul>

reference.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,8 @@
164164

165165
<p class="text-right"><small>
166166
最終更新日時(UTC):
167-
<span itemprop="datePublished" content="2024-08-09T03:23:57">
168-
2024年08月09日 03時23分57秒
167+
<span itemprop="datePublished" content="2024-09-18T03:31:11">
168+
2024年09月18日 03時31分11秒
169169
</span>
170170
<br/>
171171
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
@@ -674,7 +674,7 @@ <h2><a href="#debug" id="debug">デバッグライブラリ</a></h2>
674674
</thead>
675675
<tbody>
676676
<tr>
677-
<td><code><span href="https://cpprefjp.github.io/reference/debugging.md.nolink">&lt;debugging&gt;</span></code></td>
677+
<td><code><a href="reference/debugging.html">&lt;debugging&gt;</a></code></td>
678678
<td>デバッグサポート</td>
679679
<td>C++26</td>
680680
</tr>

reference/debugging.html

Lines changed: 328 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,328 @@
1+
<!doctype html>
2+
<html class="cpprefjp" lang="ja" itemscope="" itemtype="http://schema.org/WebPage">
3+
<head>
4+
5+
6+
<!-- Google tag (gtag.js) -->
7+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NXNBNVBTJS"></script>
8+
<script>
9+
window.dataLayer = window.dataLayer || [];
10+
function gtag(){dataLayer.push(arguments);}
11+
gtag('js', new Date());
12+
13+
gtag('config', 'G-NXNBNVBTJS');
14+
</script>
15+
16+
17+
<meta charset="UTF-8">
18+
19+
<title>debugging - cpprefjp C++日本語リファレンス</title>
20+
21+
<meta name="viewport" content="width=device-width,initial-scale=1">
22+
<meta name="keywords" content="
23+
C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,debugging,cpp26
24+
">
25+
<meta name="title" content="debugging - cpprefjp C++日本語リファレンス" />
26+
<meta itemprop="name" content="debugging - cpprefjp C++日本語リファレンス" />
27+
<meta property="og:title" content="debugging - cpprefjp C++日本語リファレンス" />
28+
<meta property="og:url" content="https://cpprefjp.github.io/reference/debugging.html" />
29+
<meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" />
30+
<meta property="og:type" content="article" />
31+
<meta property="og:description" content="&amp;lt;debugging&amp;gt;debugging(C++26) &amp;lt;debugging&amp;gt;ヘッダでは、プログラムのデバッグ実行をサポートする機能を提供する。 名前 説明 対応バージョン breakpoint ブレークポイントを設置する (functional) C++26 breakpoint_if_debugging デバッガ実行のみブレークポイントを設置する (f" />
32+
<meta name="twitter:card" content="summary" />
33+
<meta name="twitter:title" content="debugging - cpprefjp C++日本語リファレンス" />
34+
<meta name="twitter:url" content="https://cpprefjp.github.io/reference/debugging.html" />
35+
<meta name="twitter:description" content="&amp;lt;debugging&amp;gt;debugging(C++26) &amp;lt;debugging&amp;gt;ヘッダでは、プログラムのデバッグ実行をサポートする機能を提供する。 名前 説明 対応バージョン breakpoint ブレークポイントを設置する (functional) C++26 breakpoint_if_debugging デバッガ実行のみブレークポイントを設置する (f" />
36+
37+
38+
<link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" />
39+
40+
41+
<link rel="apple-touch-icon" sizes="180x180" href="../static/favicons/apple-touch-icon.png?cachebust=0e476399d981581c37613c7023035bba5447c826">
42+
<link rel="icon" type="image/png" sizes="32x32" href="../static/favicons/favicon-32x32.png?cachebust=0e476399d981581c37613c7023035bba5447c826">
43+
<link rel="icon" type="image/png" sizes="16x16" href="../static/favicons/favicon-16x16.png?cachebust=0e476399d981581c37613c7023035bba5447c826">
44+
<link rel="manifest" href="../manifest.json?cachebust=0e476399d981581c37613c7023035bba5447c826">
45+
<meta name="theme-color" content="#f5f8fc">
46+
47+
<link rel="stylesheet" href="../static/pygments/default.css?cachebust=0e476399d981581c37613c7023035bba5447c826">
48+
<!-- <link rel="stylesheet" href="../static/css/root.css"> -->
49+
50+
51+
52+
53+
54+
<link href="../static/kunai/css/kunai-stage-0.css?cachebust=0e476399d981581c37613c7023035bba5447c826" rel="stylesheet">
55+
<link href="../static/kunai/css/kunai-stage-1.css?cachebust=0e476399d981581c37613c7023035bba5447c826" rel="stylesheet">
56+
<link href="../static/kunai/css/kunai-stage-2.css?cachebust=0e476399d981581c37613c7023035bba5447c826" rel="stylesheet">
57+
<link href="../static/kunai/css/kunai-stage-3.css?cachebust=0e476399d981581c37613c7023035bba5447c826" rel="stylesheet">
58+
59+
<script type="text/javascript" src="../static/kunai/js/kunai-vendor.js?cachebust=0e476399d981581c37613c7023035bba5447c826"></script>
60+
<script type="text/javascript" src="../static/kunai/js/kunai.js?cachebust=0e476399d981581c37613c7023035bba5447c826"></script>
61+
62+
<script type="text/javascript">
63+
document.addEventListener('DOMContentLoaded', function() {
64+
var kn = new Kunai;
65+
kn.cpprefjp();
66+
});
67+
</script>
68+
69+
</head>
70+
<body>
71+
<header data-kunai-mdinfo="{&#34;meta&#34;: {&#34;header&#34;: [&#34;debugging&#34;], &#34;cpp&#34;: [&#34;cpp26&#34;]}, &#34;sources&#34;: [], &#34;page_id&#34;: [&#34;reference&#34;, &#34;debugging&#34;]}">
72+
<nav class="navbar navbar-default" role="navigation">
73+
<div class="container-fluid">
74+
<div class="navbar-header">
75+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
76+
<span class="sr-only">Toggle navigation</span>
77+
<span class="icon-bar"></span>
78+
<span class="icon-bar"></span>
79+
<span class="icon-bar"></span>
80+
</button>
81+
<a class="navbar-brand" href="../index.html">
82+
<div class="title-wrapper clearfix">
83+
<div class="title">cpprefjp - C++日本語リファレンス</div>
84+
</div>
85+
</a>
86+
</div>
87+
88+
<div class="collapse navbar-collapse" id="navbar-collapse">
89+
<ul class="nav navbar-nav navbar-right">
90+
<li>
91+
<div class="google-search">
92+
93+
94+
<script>
95+
(function() {
96+
var cx = '013316413321391058734:ji_u66hl7hq';
97+
var gcse = document.createElement('script');
98+
gcse.type = 'text/javascript';
99+
gcse.async = true;
100+
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
101+
'//www.google.com/cse/cse.js?cx=' + cx;
102+
var s = document.getElementsByTagName('script')[0];
103+
s.parentNode.insertBefore(gcse, s);
104+
})();
105+
</script>
106+
<div class="gcse-search"></div>
107+
108+
109+
</div>
110+
</li>
111+
<li>
112+
<a href="https://github.com/cpprefjp/site">GitHub Project</a>
113+
</li>
114+
</ul>
115+
</div>
116+
</div>
117+
</nav>
118+
</header>
119+
120+
<main id="main" role="main">
121+
<div class="container-fluid">
122+
<div class="row">
123+
<div class="col-sm-9 col-sm-push-3" itemscope itemtype="http://schema.org/Article">
124+
<div class="row">
125+
<div class="col-sm-12 google-search-result">
126+
<gcse:searchresults></gcse:searchresults>
127+
</div>
128+
</div>
129+
<div class="row">
130+
<div class="col-sm-12 content-header">
131+
132+
<ol class="breadcrumb">
133+
134+
<li itemscope itemtype="http://www.schema.org/SiteNavigationElement">
135+
<span>
136+
137+
<a href="../index.html" itemprop="url">
138+
139+
<i class="fa fa-fw fa-home"></i>
140+
141+
</a>
142+
143+
</span>
144+
</li>
145+
146+
<li itemscope itemtype="http://www.schema.org/SiteNavigationElement">
147+
<span>
148+
149+
<a href="../reference.html" itemprop="url">
150+
151+
<span itemprop="name">リファレンス</span>
152+
153+
</a>
154+
155+
</span>
156+
</li>
157+
158+
<li class="active" itemscope itemtype="http://www.schema.org/SiteNavigationElement">
159+
<span>
160+
161+
162+
<span itemprop="name">debugging</span>
163+
164+
165+
</span>
166+
</li>
167+
168+
</ol>
169+
<div class="crsearch"></div>
170+
171+
</div>
172+
</div>
173+
<div class="row">
174+
<div class="col-sm-12 edit-button">
175+
176+
177+
<p class="text-right"><small>
178+
最終更新日時(UTC):
179+
<span itemprop="datePublished" content="2024-09-18T03:31:11">
180+
2024年09月18日 03時31分11秒
181+
</span>
182+
<br/>
183+
<span itemprop="author" itemscope itemtype="http://schema.org/Person">
184+
<span itemprop="name">Akira Takahashi</span>
185+
</span>
186+
が更新
187+
</small></p>
188+
189+
190+
<p class="text-right">
191+
<a class="history" target="_blank" href="https://github.com/cpprefjp/site/commits/master/reference/debugging.md">
192+
<span class="fa fa-fw fa-clock-o fa-flip-horizontal"></span>履歴
193+
</a>
194+
<a class="edit" target="_blank" href="https://github.com/cpprefjp/site/edit/master/reference/debugging.md">
195+
<span class="fa fa-fw fa-pencil"></span>編集
196+
</a>
197+
</p>
198+
</div>
199+
</div>
200+
<div class="row">
201+
<div class="col-sm-12 content-body">
202+
203+
<div class="header">&lt;debugging&gt;</div><h1 itemprop="name"><span class="token">debugging</span><span class="cpp cpp26" title="C++26で追加">(C++26)</span></h1>
204+
<div itemprop="articleBody"><p><code>&lt;debugging&gt;</code>ヘッダでは、プログラムのデバッグ実行をサポートする機能を提供する。</p>
205+
<table border="1" bordercolor="#888" style="border-collapse:collapse">
206+
<thead>
207+
<tr>
208+
<th>名前</th>
209+
<th>説明</th>
210+
<th>対応バージョン</th>
211+
</tr>
212+
</thead>
213+
<tbody>
214+
<tr>
215+
<td><code><a href="debugging/breakpoint.html">breakpoint</a></code></td>
216+
<td>ブレークポイントを設置する (functional)</td>
217+
<td>C++26</td>
218+
</tr>
219+
<tr>
220+
<td><code><a href="debugging/breakpoint_if_debugging.html">breakpoint_if_debugging</a></code></td>
221+
<td>デバッガ実行のみブレークポイントを設置する (functional)</td>
222+
<td>C++26</td>
223+
</tr>
224+
<tr>
225+
<td><code><a href="debugging/is_debugger_present.html">is_debugger_present</a></code></td>
226+
<td>デバッガ実行中か判定する (functional)</td>
227+
<td>C++26</td>
228+
</tr>
229+
</tbody>
230+
</table>
231+
<h2>この機能が必要になった背景・経緯</h2>
232+
<p>開発プラットフォームによってデバッガやブレークポイントの機能は提供されているが、本ライブラリのようにプログラム中に明示的にブレークポイントを設置し、プログラムとデバッガを対話させることでデバッグ体験が向上することがある。</p>
233+
<p>実装経験としては以下のようなものがあり、これらをこのライブラリで標準化した:</p>
234+
<table border="1" bordercolor="#888" style="border-collapse:collapse">
235+
<thead>
236+
<tr>
237+
<th>開発環境</th>
238+
<th>機能</th>
239+
</tr>
240+
</thead>
241+
<tbody>
242+
<tr>
243+
<td>Microsoft C/C++ Optimizing Compiler</td>
244+
<td><code>__debugbreak()</code>関数 (無条件ブレークポイント)</td>
245+
</tr>
246+
<tr>
247+
<td>Win32 API</td>
248+
<td><code>IsDebuggerPresent()</code>関数 (デバッガ実行中か判定)</td>
249+
</tr>
250+
<tr>
251+
<td>LLVM Clang</td>
252+
<td><code>__builtin_debugtrap()</code>組み込み関数 (無条件ブレークポイント)</td>
253+
</tr>
254+
<tr>
255+
<td>arm Keil, ARM Compiler</td>
256+
<td><code>__breakpoint()</code>関数 (無条件ブレークポイント)</td>
257+
</tr>
258+
<tr>
259+
<td>Portable Snippetsライブラリ</td>
260+
<td><code>psnip_trap()</code>関数 (無条件ブレークポイント)</td>
261+
</tr>
262+
<tr>
263+
<td>Debug Breakライブラリ</td>
264+
<td><code>debug_break()</code>関数 (無条件ブレークポイント)</td>
265+
</tr>
266+
<tr>
267+
<td>Boost.Testライブラリ</td>
268+
<td><code>debugger_break()</code>関数 (無条件ブレークポイント)<br /> <code>under_debugger()</code>関数 (出張っg実行中か判定)</td>
269+
</tr>
270+
<tr>
271+
<td>EASTLライブラリ</td>
272+
<td><code>EASTL_DEBUG_BREAK()</code>マクロ (無条件ブレークポイント)、</td>
273+
</tr>
274+
<tr>
275+
<td>Catch2ライブラリ</td>
276+
<td><code>CATCH_TRAP</code>マクロ (無条件ブレークポイント)<br /> <code>CATCH_BREAK_INTO_DEBUGGER</code>マクロ (条件付きブレークポイント)<br /> <code>isDebuggerActive()</code>関数 (デバッガ実行中か判定)</td>
277+
</tr>
278+
<tr>
279+
<td>JUCEライブラリ</td>
280+
<td><code>JUCE_BREAK_IN_DEBUGGER</code>マクロ (無条件ブレークポイント)<br /> <code>juce_isRunningUnderDebugger()</code>関数、<code>Process::isRunningUnderDebugger()</code>関数 (デバッガ実行中か判定)</td>
281+
</tr>
282+
<tr>
283+
<td>ImGuiライブラリ</td>
284+
<td><code>IM_DEBUG_BREAK()</code>マクロ (無条件ブレークポイント)</td>
285+
</tr>
286+
<tr>
287+
<td>AWS C SDK</td>
288+
<td><code>aws_debug_break()</code>関数 (条件付きブレークポイント)<br /> <code>aws_is_debugger_present()</code>関数 (デバッガ実行中か判定)</td>
289+
</tr>
290+
<tr>
291+
<td>UnrealEngine</td>
292+
<td><code>UE_DEBUG_BREAK</code>マクロ (条件付きブレークポイント)<br /> <code>IsDebuggerPresent()</code>関数 (デバッガ実行中か判定)</td>
293+
</tr>
294+
</tbody>
295+
</table>
296+
<h2>バージョン</h2>
297+
<h3>言語</h3>
298+
<ul>
299+
<li>C++26</li>
300+
</ul>
301+
<h2>参照</h2>
302+
<ul>
303+
<li><a href="https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2546r5.html" target="_blank">P2546R5 Debugging Support</a></li>
304+
</ul></div>
305+
306+
</div>
307+
</div>
308+
</div>
309+
310+
311+
<div id="sidebar" class="col-sm-3 col-sm-pull-9">
312+
</div>
313+
314+
315+
</div>
316+
</div>
317+
</main>
318+
<footer class="footer navbar navbar-default">
319+
<div class="container-fluid">
320+
<p><small>
321+
本サイトの情報は、
322+
<a href="https://creativecommons.org/licenses/by/3.0/deed.ja" rel="nofollow">クリエイティブ・コモンズ 表示 3.0 非移植 ライセンス(CC BY)</a>
323+
の下に提供されています。
324+
</small></p>
325+
</div>
326+
</footer>
327+
</body>
328+
</html>

0 commit comments

Comments
 (0)