メモリビュー
たとえば、データ処理の問題をデバッグするときに、実行中のプロセスの未加工メモリを表示する必要がある場合があります。このため、CLion はメモリビューを提供します。変数タブのポインタから、必要なアドレスを含むメモリ領域に移動し、プログラムのステップ実行とともに変更を確認できます。
メモリビューを表示
デバッグツールウィンドウの変数タブで、目的のポインター変数を選択します。
Control+Enter を押すか、変数のコンテキストメニューからメモリビューで表示を選択します。
このオプションは、非ポインター変数でも使用できます。変数のアドレスは自動的に取得されます。
メモリビューウィンドウには、最初に、選択したアドレスから始まる 256 バイトの領域が表示されます。ウィンドウの下部に、より高いメモリアドレスが表示されます。その後、他のポインターに対してメモリビューを呼び出すと、同じウィンドウでそれらがハイライトされ、必要に応じて領域が拡張されて、より多くのアドレスが表示されます。
左側の列のコンテキストメニューを使用して、住所を非表示 / 表示またはコピーします。
右側の列には、メモリ値に相当する ASCII 文字が表示されます。
コードをステップ実行すると、CLion は現在表示されているメモリ領域で発生する変更をハイライトします。
1 行あたりのバイト数を構成する
メモリビューに表示される列数 (1 行あたりのバイト数) を変更するには、
をクリックして数値を選択します。
エディターでメモリビューを開く
変数(または監視式)タブの
ボタンを使用して、エディターでメモリビューを開きます。
このようにして、デバッグツールウィンドウとエディターで 2 つの独立したメモリウィンドウを開くことができます。
アドレスにジャンプ
メモリビューウィンドウのジャンプフィールドを使用して、特定のアドレスに移動します。アドレスを 16 進数として直接入力するか、ポインター変数またはポインターに評価される式を指定するか、演算子
&
のアドレスを使用して任意の変数のアドレスを取得できます。このフィールドのコード補完は、既知のシンボルから選択できます。
メモリを変更する
メモリビューは、オンザフライのメモリ編集をサポートします。
変更したい領域にキャレットを置き、入力を開始します。新しい値がすぐに表示されます。
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_addwatchpoint.png)
監視ポイント
ウォッチポイント (データブレークポイントと呼ばれることもあります) は、プログラムの実行全体を通じて特定の変数とその動作に焦点を当てる必要がある場合に役立ちます。プログラムが監視中のブレークポイントにアクセスするたびに、CLion は実行を一時停止するか、コンソールにログを記録します。ウォッチポイントを設定する変数または式を選択し、右クリックして監視ポイントの追加を選択します。ポップアップでウォッチポイントを構成します。追加のプロパティにアクセスするには、さらにをクリックするか、メインメニュー...
![](https://resources.jetbrains.com/help/img/idea/2023.2/cl_disasm_ondemand_framesmenu.png)
分解図
CLion では、逆アセンブルされたコードを開くことができますソースが利用可能な場合、任意のフレームに対してオンデマンド、ソースが利用できないときに強制的にそこに踏み込むこと、フレームの分解ビューを開くデバッグツールウィンドウで目的のフレームを右クリックし、逆アセンブルを選択します。逆アセンブリビューがソースコードと並んで開きます。開くと、分解ビューは現在選択されているフレームと同期したままになります。フレームが切り替わると、エディターと逆アセンブリビューの両方が実行ポイントまでスクロールする...