CTR-Pia
5.4.3
Game Communication Engine
メインページ
ネームスペース一覧
クラス構成
クラス索引
関連ページ
Result 検索
全て
クラス
ネームスペース
関数
変数
型定義
列挙型
列挙型の値
ページ
common_MemoryLeakChecker.h
1
/*--------------------------------------------------------------------------------*
2
Copyright (C)Nintendo All rights reserved.
3
4
These coded instructions, statements, and computer programs contain proprietary
5
information of Nintendo and/or its licensed developers and are protected by
6
national and international copyright laws. They may not be disclosed to third
7
parties or copied or duplicated in any form, in whole or in part, without the
8
prior written consent of Nintendo.
9
10
The content herein is highly confidential and should be handled accordingly.
11
*--------------------------------------------------------------------------------*/
12
13
14
#pragma once
15
16
#include <nn/pia/common/common_Definitions.h>
17
18
19
namespace
nn
20
{
21
namespace
pia
22
{
23
namespace
common
24
{
25
26
27
/*!
28
@brief Pia ライブラリ内部のメモリリークを自動検出するためのクラスです。
29
30
*/
31
class
MemoryLeakChecker
32
{
33
public
:
34
/*!
35
@brief コンストラクタです。
36
*/
37
MemoryLeakChecker
(
void
);
38
39
40
/*!
41
@brief デストラクタです。
42
*/
43
~MemoryLeakChecker
(
void
);
44
45
46
/*!
47
@brief メモリリーク調査の起点をセットします。
48
49
@details この API は、メモリリークを疑う Pia モジュールの初期化処理を開始する前に
50
呼び出すことを想定しています。Pia は最初に common モジュールを初期化し、
51
順に上位モジュールの初期化処理を実行していく設計となっておりますが、
52
仮に Pia の xxx モジュールを含む上位モジュールでのメモリリークを疑う場合、
53
nn::pia::xxx::Initialize() を呼び出す前にこの API を実行する必要があります。
54
@details この API は、各モジュールの BeginSetup() ~ EndSetup() 間では
55
呼び出してはいけません。
56
57
@return 呼び出しが無事に完了すれば、成功の Result が返されます。
58
@retval ResultNotInitialized nn::pia::common::Initialize が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
59
@retval ResultInvalidState このAPIを呼び出すタイミングが誤っています。 nn::pia::common::EndSetup() の後で呼び出す必要があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
60
61
@see Check
62
*/
63
Result
Set
(
void
);
64
65
66
/*!
67
@brief メモリリークが発生したかどうかの判定を行います。
68
69
@details この API は、メモリリークを疑う Pia モジュールの終了処理を終えた後に
70
呼び出すことを想定しています。Pia は最上位のモジュールから順に
71
終了処理を実行していく設計となっておりますが、
72
仮に Pia の xxx モジュールを含む上位モジュールでのメモリリークを疑う場合、
73
nn::pia::xxx::Finalize() を呼び出した後にこの API を実行する必要があります。
74
@details このAPIは、各モジュールの BeginSetup() ~ EndSetup() 間では
75
呼び出してはいけません。
76
77
@return 呼び出しが無事に完了し、メモリリークの疑いが無ければ、成功の Result が返されます。
78
@retval ResultMemoryLeak メモリリークの疑いがあります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
79
@retval ResultNotInitialized nn::pia::common::Initialize() が呼ばれていません。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
80
@retval ResultInvalidState このAPIを呼び出すタイミングが誤っています。 nn::pia::common::EndSetup() の後で呼び出す必要があります。プログラミングエラーです。このエラーが返らないようにソースコードを修正してください。
81
82
@see Set
83
*/
84
Result
Check
(
void
)
const
;
85
86
87
private
:
88
// 空きメモリの容量を保持。
89
uint32_t m_FreeSize;
90
91
NN_PIA_DISALLOW_COPY(
MemoryLeakChecker
);
92
};
93
}
94
}
95
}
// end of namespace nn::pia::common
Include
nn
pia
common
common_MemoryLeakChecker.h
© 2016 Nintendo Co., Ltd. All rights reserved. 記載されている会社名、製品名等は、各社の登録商標または商標です。