序文 gdb は Linux で非常に便利なデバッグ ツールです。コマンドライン モードのデバッグ ツールですが、その機能は想像以上に強力です。ここでは gdb の使い方について簡単に紹介します。必要な方は、以下の詳細な紹介をご覧ください。 ブレークポイント コード内の指定された場所でブレークし、プログラムをそこで停止させます。
例: (gdb) sc_smartcontract_handler.cpp:45 を中断します ブレークポイント 4、0x424d42: ファイル sc_smartcontract_handler.cpp、行 45。 ブレークポイント関連の操作
観測ポイント キャプチャ ポイントは、プログラムの実行中にいくつかのイベントをキャプチャするために使用されます。たとえば、共有ライブラリ (ダイナミック リンク ライブラリ) の読み込み、C++ 例外などです。バグを見つけるためによく使用されます。 ポイントをキャプチャするためのコマンドの形式は catch <event> です。ここで、event は次のようになります。
現在のウォッチポイント情報を表示するには、info watchpoints [n] コマンドを使用できます。 変数を表示 変数を見る最も一般的な方法は
(gdb) argc を印刷する 1ドル = 1 配列を印刷する場合、デフォルト設定により、印刷された配列の末尾が表示されないことがあります。次のコマンドを使用して、印刷される配列の最大長を設定できます。
デバッグ中にコードを表示する
リストは非常に便利ですが、まだ満足できるものではありません。実行中にコードを表示できれば良いでしょう。答えはイエスです。 gdb を起動するには、次のコマンドを使用します: gdb -tui プロジェクト名 または、gdb を起動した後、図に示すように、コマンド focus を入力します。 プログラム実行の再開とシングルステップデバッグ gdb では、デバッグのステップ実行に関連するコマンドは主に次のとおりです。
特定のスレッドに割り込む ブレークポイントをすべてのスレッドに設定するか、特定のスレッドに設定するかを定義できます。 GDB を使用すると、これを簡単に実行できます。
linespec は、ブレークポイントが設定されているソース行番号を指定します。 threadno はスレッド ID を指定します。この ID は GDB によって割り当てられることに注意してください。実行中のプログラムのスレッド情報は、「info threads」コマンドで表示できます。スレッド <threadno> を指定しない場合は、すべてのスレッドにブレークポイントが設定されることを意味します。スレッドのブレークポイント条件を指定することもできます。のように: (gdb) bartab > lim の場合、frik.c:13 スレッド 28 を中断します。 プログラムが GDB によって停止されると、実行中のすべてのスレッドも停止されます。これにより、実行中のプログラムの全体的なステータスを確認できます。プログラムを再開すると、すべてのスレッドが再開されます。メインプロセスがシングルステップデバッグされている場合でも同様です。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Windows での MySQL 5.7.18 のインストールと設定のチュートリアル
>>: MySql バージョンの問題に対する完璧なソリューション sql_mode=only_full_group_by
目次背景技術的ソリューション具体的な実装要約する背景Element UI は、PC で人気の Vue...
序文:グループ化関数はグループ内の最初のデータを取得しますが、各グループ内の最新のデータを取得する必...
MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...
MySQL 8.0.12のインストールと設定方法を記録してみんなで共有します。 1. インストール1...
目次シナリオタスクアイデア分析するコンセプトと選択ちょっとしたテスト環境説明予防実践テスト引用シナリ...
この記事では、MySQL マスターとスレーブ データ間の不一致の解決方法と、プロンプト「Slave_...
目次序文プロトタイプ継承アドバンテージ欠点コンストラクタの継承アドバンテージ欠点組み合わせ継承寄生的...
body{font-size:12px; font-family:"宋体";}...
目次1. 要素オフセットシリーズ2. 要素表示領域クライアントシリーズ3. 要素スクロールシリーズ1...
数年前、Taobaoのモバイル版の左下隅に面白い丸いボタンがあったことを覚えています。それをクリック...
問題を見つける今日、Docker コンテナ内のファイルを変更しようとしたところ、コンテナ内に vim...
<br />製品設計プロセス全体において、ビジュアルデザインとインタラクションデザインの...
目次1. ユーザーを追加する2. ユーザー名とホストを変更する3. パスワードを変更する4. ユーザ...
IE ブラウザで「ホームページとして設定」および「お気に入りに追加」機能を実装する方法解決:指定さ...
効果: まず5つのVueインターフェースを作成する1.home.vueページ <テンプレート&...