Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxシステムでのgdbコマンドの知識について

Linuxシステムでのgdbコマンドの知識について

  

Linuxシステムには、システムの正常で便利な操作を支援するためのコマンドプログラムがたくさんあります。そのあと、システムにgdbコマンドと呼ばれるプログラムがあります。 gdbコマンドについての知識!

まず、通常のデバッグ

gdbはLinuxでよく使われるプログラムデバッグツールです。もちろん、前提はgcc /g ++を使って-gパラメータでコンパイルすることです。コンパイルされた実行可能ファイルは、gdbデバッグ情報を追加します。

gdbコマンドはかなりたくさんありますが、よく使われるコマンドには以下のコマンドが含まれます。

(1)list [file:] functuon

コマンドの省略形はlで、ソースコードを表示し、追加しないでくださいパラメータを表示するとソースコードが下に表示され、パラメータ-lを追加するとソースコードが上に表示され、デフォルトの表示は10行になります。

関数にリストされているソースコードを設定することも可能です。もしそれが非メンバー関数であればfile:functionを、クラスメンバー関数であればclass :: functuonを使ってください。

(2)edit [file:] function

コマンドの省略形はe、現在の行を編集する、または関数のソースコードを編集する(リスト付きルール)。

(3)break [file:] function

コマンドの省略形はbで、ブレークポイントを設定し、直接または関数で追加することができます(リスト付きの規則)。ファイル名でブレークポイントを設定します。行番号。

(4)info

コマンドの省略形はiで、info break、info変数、info stackなどのgdbサブコマンドに関する情報を一覧表示します。

(5)run [arglist]

コマンドの省略形はrで、プログラムはブレークポイントで停止し、runコマンドの後にデバッガに必要なパラメータを追加できます。

(6)next

コマンドの省略形はn、シングルステップデバッグ実行ステートメントです。関数に遭遇した場合は、VCのF10と同様に、関数を入力しないシングルステップステートメントでもあります。

(7)step

コマンドの省略形はsです。シングルステップデバッグの実行ステートメントです。VCのF11と同様に、関数に遭遇した場合は直接その関数に入ります。

(8)continue

名声と富はcです。次のブレークポイントまでプログラムを実行し続けます。

(9)what

変数タイプを表示します。

(10)print

コマンドの省略形はp、print変数の値です。

(11)backtrace

コマンドの省略形はbt、スタック情報の表示です。

(12)enter

前のdebugコマンドを入力します。

(13)help [name]

指定されたgdbコマンドのヘルプ情報を表示します。

(14)quit

コマンドの省略形はqで、gdbを終了します。

gdbが実行中のプログラムをデバッグするときはgdb.exeでコアダンプをデバッグするときはgdb.exe .coreを使用してプログラムをロードし、rコマンドを実行してプログラムの実行を開始します。 gdbでコードを編集した後は、gdbを終了する必要はありませんが、gdbで直接作成できます。そうしないと、前に設定したブレークポイントなどの情報が書き込まれます。

2番目に、マルチスレッドのデバッグ

(1)info threads

コマンドの略語はinfo thrで、現在デバッグ可能なすべてのスレッドが表示されます。割り当てられたID、このIDは後でスレッドが操作されたときに使用され、*は現在デバッグされているスレッドです。

(2)thread ID

コマンドの省略形はthrで、現在デバッグ中のスレッドを指定されたIDのスレッドに切り替えます。

(3)スレッド適用ID1 ID2コマンド

コマンドの略語は上記と同じです。1つ以上のスレッドにgdbコマンドコマンドを実行させます。

(4)threadはall commandを適用します。

すべてのデバッグスレッドがgdb commandコマンドを実行するように、コマンドの省略形の規則は上記と同じです。

(5)スケジューラロックをオフにします。 オン Step

マルチスレッドプログラムをデバッグしているときに、stepまたはcontinueコマンドを使用して現在のスレッドをデバッグすると、他のスレッドも同時に実行されます。 オン つまり、スレッドの実行を制御するステップです。

off:スレッドをロックしないでください。つまり、すべてのスレッドが実行されます。これはデフォルト値です。

on:現在デバッグ中のプログラムのみが実行されます。

step:nextに関数がある場合を除いて、シングルステップでは、現在のスレッドだけが実行されます。
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved