ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だけであり、Linux 環境でも動作します。

通常、プログラムをデバッグするときに printf を使用します。

Androidではlogcatを使います。ここではよく使われるデバッグ方法である、デバッグ書き込みファイルによるデバッグ方法を紹介します。

Android システムでは、C アプリケーションのデバッグは非常に不便です。ログの整合性を維持するために、ファイル デバッグ メソッドが重要な役割を果たします。次に例を示します。

#include <stdio.h>
ファイル * write_debug_file=NULL;
//デバッグ情報をファイルに書き込む void write_Debug_to_file(char *debug_log)
{
 if(write_debug_file==NULL)
 wirte_debug_file = fopen("debug.txt","wt");
 if(write_debug_file==NULL)
 戻る;
 fputs(debug_log、write_debug_file);
}
int メイン(void)
{
 整数 i ;
 char buf[100];
 (i = 0 ; i < 10 ; i++)の場合
 {
 sprintf(buf,"i:%d\n",i);
 //デバッグ情報を書き込む write_Debug_to_file(buf);
 }
 write_debug_file が NULL の場合
 fclose(write_debug_file);
 0 を返します。
}

実行結果:

debug.txt を開くと、次の内容が表示されます。

私:0
私:1
私:2
私:3
私:4
私:5
私:6
私:7
私:8
私:9

印刷されたデータはこのファイルに保存されます。コード セグメント内の任意の文をログに書き込んで、後で問題を分析することもできます。

これは非常に優れたデバッグ ツールです。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Java リモート デバッグ チュートリアル (Eclipse を例に)
  • C# でブレークポイントを使用してプログラムをデバッグする手順の詳細な説明
  • IOSはNSAssert()とNSParameterAssertを使用してプログラムをデバッグします
  • PDB ライブラリを使用して Python でプログラムをデバッグする
  • WiFiを使用してUbuntuをAndroidデバッグプログラムに接続する手順
  • Android 開発ノート: Logcat を使用してプログラムをデバッグする方法を 1 分で学ぶ
  • ASP でプログラムをデバッグするためのデバッグ クラス
  • bat を使用してシステム スクリプト デバッガーを削除する
  • asp:debug クラス デバッガー

<<:  モバイル端末での Vue2.x Picker のグローバル呼び出し実装

>>:  MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

推薦する

タグが新しいページを開くかどうかという問題。主要ウェブサイトの開設状況をまとめました

a タグが新しいページを開くかどうか: (1)百度百科事典:ヘッダーが異なる場合は新しいページが開き...

Linux での SSH パスワードフリーログイン設定の詳細な説明

Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...

Linux で Hadoop クラスターをインストールするための詳細な手順

目次1. usrディレクトリにHadoopディレクトリを作成し、インストールパッケージをそのディレク...

Linuxカーネルをコンパイルする方法

1. 必要なカーネルバージョンをダウンロードする2. オペレーティングシステムにアップロードする3....

DCL を使用して MySQL でユーザーを管理し、権限を制御する方法

DCL (データ制御言語): データベースのアクセス権とセキュリティ レベルを定義し、ユーザーを作成...

HTML タグでの this の使用法の紹介

例えば:コードをコピーコードは次のとおりです。 <html> <ヘッド> &...

静的ウェブサイトをRSSに変換するツール

<br /> この記事は allwebdesignresources.com から Ra...

ホバードロップダウンメニューを実装するためのネイティブJS

JS はホバー ドロップダウン メニューを実装します。これは、フロントエンドの面接で遭遇するシナリ...

Windows で mysql-8.0.18-winx64 をインストールするチュートリアル (画像とテキスト付き)

1. インストールパッケージをダウンロードするインストール パッケージは次の場所にあります:参考:...

Linux の操作とメンテナンスの基本システムディスク管理チュートリアル

1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...

MySQL ロックブロッキングの詳細な分析

日常のメンテナンスでは、スレッドがブロックされることが多く、データベースの応答が非常に遅くなります。...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

CSS3 を使って本のページめくり効果を実現するサンプルコード

重要なポイント: 1. CSS3 3Dアニメーションをマスターする2. ページめくり後のページ内容の...

MySQL をデプロイするときに発生する「テーブル mysql.plugin が存在しません」という問題の解決方法

今日、MySQL の無料インストール版をデプロイしたところ、テーブル 'mysql.plug...

CSS 複合セレクタの具体的な使用法

交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...