検索
ホームページ運用・保守Linuxの運用と保守Linuxでプログラムをデバッグするにはどのような方法がありますか?

Linuxでプログラムをデバッグするにはどのような方法がありますか?

Dec 06, 2019 am 11:01 AM
linux方法プログラムのデバッグ

Linuxでプログラムをデバッグするにはどのような方法がありますか?

#1. 'print' ステートメントを使用する

これは、問題をデバッグするための基本的な方法です。プログラムの実行中のフロー制御の流れと変数値の変化を理解するために、プログラム内の疑わしい場所に print ステートメントを挿入します。

この欠点は、「print」ステートメントを追加してプログラムを編集する必要があり、出力を取得するには再コンパイルして再実行する必要があることです。デバッグが必要なプログラムが比較的大きい場合、これは時間と労力がかかる方法になります。

2. クエリを使用する

場合によっては、カーネルで実行されているプロセスのステータスとメモリ マッピングを把握する必要があります。この情報を取得するために、カーネルにコードを挿入する必要はありません。代わりに、/proc ファイル システムを使用してください。 /procの擬似ファイルシステムには、システム起動時に収集された稼働情報(CPU情報、メモリ容量など)が保持されます。

ls -l /proc の出力は、システム内で実行されているプロセスごとに、/proc ファイル システム内にプロセス ID にちなんだ名前のエントリがあることを示しています。各プロセスの詳細情報は、プロセスIDに対応するディレクトリ内のファイルで取得できます。 「ls /proc/pid」の出力も使用できます。

無料のビデオ チュートリアルの推奨: linux ビデオ チュートリアル

3. トラッキングの使用

strace と ltrace は 2 つのトレース ツールですLinux でプログラムの実行の詳細をトレースするために使用されます。

strace:

strace は、システム コールとシステム コールが受信するシグナルをインターセプトして記録します。ユーザーには、システム コール、システム コールに渡されるパラメータ、および戻り値が表示されます。 strace は、すでに実行中のプロセスまたは新しいプロセスにアタッチできます。これは、開発者やシステム管理者にとっての診断およびデバッグ ツールとして役立ちます。

これは、さまざまなプログラム呼び出しを追跡することによってシステムを理解するためのツールとしても使用できます。このツールの利点は、ソース コードを必要とせず、プログラムを再コンパイルする必要がないことです。

strace を使用するための基本的な構文は次のとおりです。

strace 命令

strace の出力は非常に長いため、通常、表示されるすべての行には興味がありません。 「-e expr」オプションを使用して、不要なデータをフィルタリングできます。

-p pid」オプションを使用して、実行中のプロセスにバインドします。

'-o' オプションを使用すると、コマンドの出力をファイルにリダイレクトできます。

Linuxでプログラムをデバッグするにはどのような方法がありますか?

#strace は、システム コールの出力のみをフィルターします。

ltrace:

ltrace は、プロセスの動的 (ランタイム) ライブラリ呼び出しと受信するシグナルを追跡および記録します。プロセスによって行われるシステムコールを追跡することもできます。使い方は strace と似ています。

ltrace command

'-i' オプションは、ライブラリの呼び出し時に命令ポインタを出力します。

'-S' オプションは、システム コールとライブラリ コールをキャプチャするために使用されます。

Linuxでプログラムをデバッグするにはどのような方法がありますか?

トレースは、'STRCMP' ライブラリ コールの出力をキャプチャします。 。

おすすめの関連記事とチュートリアル: linux チュートリアル

以上がLinuxでプログラムをデバッグするにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Debian Readdirによるファイルソートを実装する方法Debian Readdirによるファイルソートを実装する方法Apr 13, 2025 am 09:06 AM

Debian Systemsでは、Readdir関数はディレクトリコンテンツを読み取るために使用されますが、それが戻る順序は事前に定義されていません。ディレクトリ内のファイルを並べ替えるには、最初にすべてのファイルを読み取り、QSORT関数を使用してソートする必要があります。次のコードは、debianシステムにreaddirとqsortを使用してディレクトリファイルを並べ替える方法を示しています。

Debian Readdirがリモートファイルシステムをサポートする方法Debian Readdirがリモートファイルシステムをサポートする方法Apr 13, 2025 am 09:03 AM

Debianシステムでは、Readdir関数を使用して、ディレクトリの内容を読み取ります。リモートファイルシステムをサポートするには、リモートファイルシステムがローカルに正しく取り付けられていることを確認してください。次の手順では、それを実装する方法を詳細に説明します。1。適切なプロトコルを選択します。NFS、SAMBA、FTP、SSHFSなど、適切なリモートファイルシステムプロトコルを選択することが重要です。異なるプロトコルの構成方法は大きく異なります。 2。必要なソフトウェアパッケージをインストールします。選択したプロトコルに従って、対応するソフトウェアパッケージをインストールします。たとえば、NFSにはNFS-CommonまたはNFS-Kernel-Serverが必要です。サンバにはサンバが必要です。 SSHFSには、ヒューズとSSHFSが必要です。 apt-getinstを使用します

Debian Readdirの互換性はどうですかDebian Readdirの互換性はどうですかApr 13, 2025 am 09:00 AM

ReadDir関数は、Linux Systemsのディレクトリコンテンツを読み取るための標準ツールであり、DebianおよびほとんどのLinux分布で利用できます。安定して広く使用されている分布として、DebianのReaddir関数はしばしばよく互換性があり、GLIBCやその他のLinuxツールなどの標準Cライブラリとシームレスに統合できます。 ReadDir関数の互換性の問題は、Debianの更新ログとセキュリティ速報でめったに言及されません。たとえば、Debian12.10の更新は、一般に、Readdirなどのコアシステムツールの互換性に影響しないセキュリティと安定性の改善に焦点を当てています。あなたがいるなら

Debianの下のTomcatログ構成はどこですかDebianの下のTomcatログ構成はどこですかApr 13, 2025 am 08:57 AM

この記事では、DebianシステムでTomcatログを構成する方法について説明します。 Tomcatログ構成ファイルは、通常、/path/to/tomcat/conf/logging.propertiesにあります。このファイルを変更することにより、ログレベル、フォーマット、および出力場所をカスタマイズできます。ログファイルストレージの場所Tomcatログファイルは、デフォルトで$ catalina_base/logsディレクトリに保存されます。 $ catalina_baseは、tomcatのインストールルートディレクトリを指します。指定されていない場合は、$ catalina_home(tomcatインストールディレクトリ)と同じです。 Tomcatログを表示する一般的なLinuxコマンドはいくつか一般的です

リサイクルビンファイルをクリーニングする方法リサイクルビンファイルをクリーニングする方法Apr 13, 2025 am 08:54 AM

この記事では、Debianシステムのリサイクルビンをクリアする3つの方法を紹介し、自分に合った方法を選択するだけです。方法1:グラフィックインターフェイス(GNOMEやKDEなど)を使用するDebianユーザーのグラフィックインターフェイス(GUI)、リサイクルビンのクリーニングは非常にシンプルです。ファイルマネージャーを開きます:ファイルマネージャーアイコン(通常はフォルダー)をクリックします(通常はフォルダー)をクリックします。リサイクルビンをクリアします:リサイクルビンウィンドウで、[空のリサイクルビン]または同様のボタンをクリックして操作を確認します。方法2:コマンドラインインターフェイス(CLI)コマンドラインに精通している場合は、端末を使用してそうすることができます。

使用されなくなったパッケージをリサイクルする方法使用されなくなったパッケージをリサイクルする方法Apr 13, 2025 am 08:51 AM

この記事では、役に立たないソフトウェアパッケージをきれいにし、Debianシステムのディスクスペースを解放する方法について説明します。ステップ1:パッケージリストを更新するパッケージリストが最新であることを確認してください:sudoaptupdateステップ2:インストールされたパッケージを表示します。次のコマンドを使用して、すべてのインストールされたパッケージを表示します。適性は、パッケージを安全に削除するのに役立つ提案を提供します:sudoaptitudeSearch '〜pimportant'このコマンドはタグをリストします

Debian Readdirのパフォーマンスを最適化する方法Debian Readdirのパフォーマンスを最適化する方法Apr 13, 2025 am 08:48 AM

Debian Systemsでは、Directoryコンテンツを読み取るためにReadDirシステム呼び出しが使用されます。パフォーマンスが良くない場合は、次の最適化戦略を試してください。ディレクトリファイルの数を簡素化します。大きなディレクトリをできる限り複数の小さなディレクトリに分割し、Readdirコールごとに処理されたアイテムの数を減らします。ディレクトリコンテンツのキャッシュを有効にする:キャッシュメカニズムを構築し、定期的にキャッシュを更新するか、ディレクトリコンテンツが変更されたときに、頻繁な呼び出しをreaddirに削減します。メモリキャッシュ(memcachedやredisなど)またはローカルキャッシュ(ファイルやデータベースなど)を考慮することができます。効率的なデータ構造を採用する:ディレクトリトラバーサルを自分で実装する場合、より効率的なデータ構造(線形検索の代わりにハッシュテーブルなど)を選択してディレクトリ情報を保存およびアクセスする

Debian上のGitLabのデータベース選択Debian上のGitLabのデータベース選択Apr 13, 2025 am 08:45 AM

Debianにgitlabを展開すると、さまざまなデータベースがあります。検索結果によると、以下はいくつかの一般的なデータベースの選択とその関連情報です。SQLite機能:SQLiteは、シンプルな設計、小さなスペース、使いやすい軽量の埋め込みデータベース管理システムであり、独立したデータベースサーバーは不要です。適用可能なシナリオ:埋め込みデバイスで実行する必要がある小さなアプリケーションまたはアプリケーション用。 MySQLの機能:MySQLは、ウェブサイトやアプリケーションで広く使用されているオープンソースのリレーショナルデータベース管理システムです。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール