ファイル書き込みを使用して 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() 関数の詳細な説明

推薦する

MySQL information_schema データベースの詳細な説明

1. 概要information_schema データベースは performance_schema...

LayUI+Shiroは動的なメニューを実装し、メニュー拡張の例を記憶します

目次1. Maven 依存関係2. メニュー関連クラス1. メインメニュー2. サブメニュー3. S...

Linux でディスクをマウントし、起動時に自動的にマウントするように設定する方法

皆さんの時間は貴重だと承知しているので、プロセス コマンドを直接書き留めておきます。設定できます。原...

Linux での mysql および mysql.sock のインストールに関する問題

最近、Linux に Aphace、mysql、php をインストールするときに多くの問題に遭遇しま...

Nuxt.jsプロジェクトのDockerデプロイメントの実装

Docker 公式ドキュメント: https://docs.docker.com/ Docker は...

CentOS7 インストール Zabbix 4.0 チュートリアル (イラストとテキスト)

SeLinuxを無効にするsetenforce 0永久に閉店: vi /etc/selinux/c...

Tomcat の文字化けしたコードとポート占有の解決方法について簡単に説明します

Tomcat サーバーは、無料でオープン ソースの Web アプリケーション サーバーです。軽量のア...

Angular CLI リリース パスの構成項目の簡単な分析

序文プロジェクトのリリースでは、常に特定の状況に応じたパッケージ化が必要です。Angular CLI...

secure_file_priv nullの問題を解決する

secure_file_priv = ' ';管理者としてcmdを実行します。 my...

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

jwtを使用してノードによって生成されたトークンをどこに保存するかについての簡単な説明

A: 通常はクライアントに保存されます。 jwt または JSON Web Token は、リクエス...

虫眼鏡の詳細のJavaScript実装

目次1. レンダリング2. 実施原則3. まとめ1. レンダリング 2. 実施原則幅と高さが等しい拡...

三角形を描画するための CSS 実装コード (border メソッド)

1. 単純な三角形を実装するCSS ボックス モデルの境界線を使用すると、次のような三角形を実現で...

JavaScript でプライベート変数を宣言する 2 つの方法

序文JavaScript は、キーワードを使用してプライベート変数を宣言できる他の言語とは異なります...

base target="" はリンクのターゲットオープンフレームを制御します

<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...