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"]]]
後で見直すのに便利な、独自の一般的なLinuxシステムコマンドを記録して、メモリの状態が悪化していることを確認しましょう。 psコマンドの コマンド: PS -mp PID -o THREAD、T
Linuxシステムの正常な動作を保証し、さまざまなシステムの問題を正確に解決するためには、システム管理者がログファイルを注意深く読むことが非常に重要な作業です。この記事では、ログファイルとは何か、それ
GRUBは、ほとんどのLinuxシステムでデフォルトのブートローダです。メニューを起動することで(あれば)異なるオペレーティングシステムを起動することを選択できます。 < /boot/grub/
統計カウンターの統計によると、3月のグローバルオペレーティングシステムの市場シェアは依然としてWin7です。 グローバルオペレーティングシステムのマーケットシェア統計チャート先月と比較して、Win
は長い時間(約3日)を得て、そしてついに成功しました。最初は私はあきらめたいと思いましたが、ゆっくりと問題を知り始めました。それでも同じ文:持続は勝利です! ! まず、図に示すようにホストマシンのI
インストール前の準備:
DNSサーバーを設定するには、DNSサービスを提供するソフトウェアプログラム、つまりバインドソフトウェアをインストールする必要があります。バインドソフトウェアは、次のコマンドを使用してインストールできます。 >
yum install -y bind-chroot bind-utis
1.メインの設定ファイル/etc/named
grep named named正常に起動するかどうか/var /log /messagesの情報を確認してください。 上記の手順に従って、簡単な転送DNSサーバーを正常に設定できます。DNS